1.类的访问控制:类的默认访问控制是private。
2.类的方法(类的成员函数)可以访问类的private成员变量(包括私有成员)。
3.类会自带默认构造函数,默认构造函数没有参数。
4.类自带默认赋值函数,因此可以将一个对象赋给同类型的另一个对象。这种情况和结构赋值一样。
5.初始化对象数组的方案是:首先使用默认构造函数创建数组元素,然后花括号中的构造函数将创建临时对象,然后将临时对象的内容复制到相应的元素中。
6.运算符重载: operator op(argument-list) 其中op为有效c++运算符。
友元
友元函数、友元类、友元成员函数。
友元函数
可以使该函数与类的成员函数相同的访问权限。
创建友元函数的第一步是将原型放在类的声明中,并在原型声明前加上关键字friend.
但友元函数不是类的成员函数,不能使用成员运算符。
第二步不要使用类::限定符来定义函数。也不用再定义中使用关键字friend.
友元函数的写法:
1.将全局函数声明为友元的写法如下:
friend 返回值类型 函数名(参数表); friend int MostExpensiveCar(CCar cars[], int total); //声明友元
2.将其他类的成员函数声明为友元的写法如下:
friend 返回值类型 其他类的类名::成员函数名(参数表); friend void CDriver::ModifyCar(CCar* pCar); //声明友元
这种模式下,其他类的成员函数就像正常一样,需要在自己的类声明和定义。
友元类
一个类 A 可以将另一个类 B 声明为自己的友元,类 B 的所有成员函数就都可以访问类 A 对象的私有成员。在类定义中声明友元类的写法如下:
friend class 类名;
静态类对象
1.类的所有对象共享同一个静态对象。
2.不能在类的声明中初始化静态成员变量。
3.在类外使用单独语句进行初始化,使用作用域运算符来指出静态成员所属的类。
继承
1.派生类不能直接访问基类的私有成员,而必须通过基类方法进行访问。
2.派生类的构造函数应该通过成员初始化列表将基类信息传递给基类构造函数。
3.派生类构造函数应初始化派生类新增的数据成员。
创建派生类对象时,先调用基类的构造函数,然后调用派生类的构造函数。
基类的构造函数负责初始化继承的数据成员,派生类的构造函数初始化新增的数据成员。