c++Primer笔记(15)

第四部分:面向对象编程与泛型编程。

第15章:面向对象编程。

1.面向对象3个基本概念:封装,继承,多态。

2.c++中,通过基类的引用或指针调用虚函数时,发生动态绑定。(多态的实现)

3.virtual只能在类内部声明中出现,不能用在类定义体外部出现。同static修饰符一样。

4.注意析构也要是虚函数哦。

5.public成员可以被类外部用户使用,类成员和友元即可以访问public成员,也可以访问private.,protected可以被继承的子类访问。

6.派生类可以进一步限制,但是不能放松所继承的成员访问。

7.友元不能继承,而且无论派生多少类,static一直都是只有一个实例第。

8.形参是基类对象时,使用子类作为实参,那么该子类对象的基类部分被复制到形参中,子类的东西丢弃。如果是引用,那么就没有复制,也不会存在转换。

9.构造函数和复制控制不能被成员继承,每个类必须有自己的这些东西。 默认构造函数出来初始化自己的成员外,还会去初始化基类的成员。son(string book,int age):base(book),age(age)

10.重构:包括重新设计继承层次,代码无需改变。

1.有继承关系的复制控制,一般应该显示使用基类复制构造函数初始化对象的基类部分。 Base::operator=( canshu );

2.析构函数不复制基类的析构,每个析构只负责自己的成员。

3.基本是这样的:如果类需要析构函数,则类几乎也确实需要其他复制控制成员。

4.运行构造函数或析构函数的时候,对象都是不完整的。 如果在构造函数或析构函数中调用虚函数,则运行的是为构造函数或析构函数自身类型定义的版本。

5.纯虚函数:virtual double abc() const=0; 含有一个或者多个纯虚函数的类是抽象类,不能够创建,只能作为派生类的组成部分。

6.句柄类:存储和管理基类指针,用户可以获取动态行为但无须操心指针的管理。这就是句柄类。

7.指针句柄:

你可能感兴趣的:(编程,C++,String,存储)