zoukankan      html  css  js  c++  java
  • 读书笔记之:C++Primer 第4版(ch1214)

    第12章 类
    1. 构造函数
     类的构造函数一般使用一个初始化列表来初始化对象的数据成员。
    2. 成员函数
     在类内部声明成员函数是必须的,而定义成员函数则是可选的。在类内部定义的函数默认为inline。而在类外部定义的成员函数必须指明它们是在类的作用域内。
    成员函数有一个附加的隐含实参,将函数绑定到调用函数的对象。这个隐含的实参其实是this指针。对像的this指针并不是对象本身的组成部分,它不占对象的内存空间,在每次非static成员函数调用对象的时候,this指针作为隐藏的第一个参数由编译器传递给对象。
    将关键字const 加在形参表之后,就可以将成员函数声明为常量:
    如:
      double avg_price() const;

    const成员不能改变其所操作的对象的数据成员。const必须同时出现在声明和定义中,若只出现在一处,就会出现一个编译时错误
    3. 数据抽象与封装


    4. 类的声明与定义
    类的定义放在头文件件中是一个很好的做法。
    可以声明一个类而不定义它:
    如:class Screen;
    这个声明也称为前向声明,在声明之后定义之前,这个类是一个不完全类型,即已知类型却不知道包含哪些成员。
    5. 类对象
    定义类是定义了一种新的类型,定义了类型之后就可以定义该类型的对象。定义对象的时候要为对象分配存储空间,但定义类型的时候是不进行存储分配的。
    6. 类成员的显示初始化
      对于没有定义构造函数并且其全体数据成员均是public的类可以采用与初始数组元素相同的方式初始化其成员。
      这个地方所说的其实就是struct。在C++中struct和class一样都是定义一个类。在C++中允许这种形式的初始化其实就是为了对C程序实现兼容。
      因为在C中可以对struct进行显示的初始化。

    构造函数

    友元  

    Static成员变量和成员函数

    第13章 复制控制

    每种类型,无论是内置类型还是类类型,都对该类型对象的一组操作的含义进行了定义。每种类型还定义了创建该类型的对象时会发生什么——构造函数定义了该类 型对象的初> 始化。类型还能控制复制、赋值或撤销该类型的对象时会发生什么——类通过特殊的成员函数:复制构造函数、赋值操作符和析构函数类控制这些行为。

    1. 复制构造函数

    1. 赋值操作

    1. 析构函数

    第14章 重载操作符与转换

  • 相关阅读:
    BZOJ 3132: 上帝造题的七分钟 树状数组+差分
    PAT Advanced 1006 Sign In and Sign Out (25 分)
    PAT Advanced 1011 World Cup Betting (20 分)
    PAT Basic 1032 挖掘机技术哪家强 (20 分)
    PAT Basic 1028 人口普查 (20 分)
    PAT Basic 1004 成绩排名 (20 分)
    大数据数据库HBase(二)——搭建与JavaAPI
    PAT Advanced 1009 Product of Polynomials (25 分)(vector删除元素用的是erase)
    PAT Advanced 1002 A+B for Polynomials (25 分)(隐藏条件,多项式的系数不能为0)
    PAT Basic 1041 考试座位号 (15 分)
  • 原文地址:https://www.cnblogs.com/xkfz007/p/2603366.html
Copyright © 2011-2022 走看看