类的静态成员
1.类中的成员在声明时,前面加上了static关键字,则此成员就是静态成员 2.类的静态(数据和函数)成员不属于任何对象,但被所有对象所共享,不管有多少对象,静态成员只有一份存于内存中。 3.在类中说明的静态数据成员属于引用性说明,必须在类的外部初始化它(且仅能说明一次) 类型 类名::静态数据成员 = 初值; 4.静态(数据和函数)成员可以不通过对象访问,而是通过类访问,即使没有创建对象
常量成员
1.类中的成员在声明时,加了const关键字,则成员为常量成员 2.常量成员在成员说明时不能被赋值,而只能通过构造函数的成员初始化列表的方式来赋值 3.一旦对象被创建,其常量数据成员的值就不允许被修改 4.常量类型的函数成员只有权读取相应对象的内容,但无权修改他们 5.常量对象不可调用非常量成员函数
类的多态
1.多种形态,对同一消息不同的响应 2.分类:静态多态:编译器多态,看指针类型 动态多态:运行时多态,看内存 实现方式:继承+虚函数 3.虚函数:在定义某一基类时,若将其中的某一非静态成员函数的属性声明为virtual,则该函数为虚函数
virtua 返回类型 函数名(参数表)
4.虚析构:当基类指针指向派生类对象时,通过基类指针释放对象,需要释放子类内存时,则需要用到虚析构 5.那些函数不能定义为虚函数?? (1)友元函数,它不是类的成员函数 (2)全局函数 (3)静态成员函数,它没有this指针 (4)构造函数,拷贝构造函数
抽象类
1.纯虚函数:virtual 返回值类型 函数名(形参表)=0;
2.具有一个及以上纯虚函数的类称为抽象类` 3.不能创建对象,可以创建指针或引用 4.抽象类的子类必须实现纯虚方法,才能创建对象
|