1、使用公有派生,基类的公有成员将成为派生类的公有成员;基类的私有部分将成为派生类的一部分,但只能通过基类的公有和保护方法访问。
2、派生类不能直接访问基类的私有成员,而必须通过基类方法进行访问。比如,派生类构造函数必须使用基类的构造函数。
3、创建派生类对象时,程序首先创建基类的对象,这就意味着基类对象应当在程序进入派生类构造函数之前被创建。
4、派生类构造函数特点:(1)首先创建基类对象(2)派生类构造函数应通过成员初始化列表将基类的信息传递给基类构造函数(3)派生类构造函数应初始化派生类新增的数据成员
5、创建派生类对象时,程序首先调用基类构造函数,然后再调用派生类构造函数。基类构造函数负责初始化继承的数据成员;派生类构造函数主要用于初始化新增的数据成员。派生类的构造函数总是调用一个基类的构造函数。
6、派生类对象过期,程序首先调用派生类析构函数,然后再调用基类的析构函数。
7、公有继承可以在基类的基础之上添加属性,但不能删除基类的属性。
8、多态公有继承:(1)在派生类中重新定义基类的方法(2)使用虚方法
9、经常在基类中将派生类中会重新定义的方法声明为虚方法,方法在基类中被声明为虚的之后,它在派生类中将自动称为虚方法。在派生类声明中使用关键字virtual来指出哪些函数是虚函数是一个好办法。
10、派生类不继承基类的构造函数。
11、通常应给基类提供一个虚析构函数。
12、友元不能是虚函数,因为友元不是类成员,而只有类成员才能是虚函数。
13、private和protected之间的区别只有在基类派生的类中才会体现出来。派生类的成员可以直接访问基类的保护成员,但不能访问基类的私有成员。
14、对外部世界来说,保护成员的行为与私有成员的相似,但对派生类成员来说,保护成员的行为与公有成员相似。
15、最好对类数据成员采用私有访问控制,不要使用保护访问控制;同时通过基类方法使派生类能够访问基类的数据。
16、对成员函数来说,保护访问控制很有用,它让派生类能够访问公众不能使用的内部函数。
17、最好提供一个显示的默认构造函数。
18、使用对象作为参数的函数时,应按引用而不是按值来传递对象,目的之一是:提高效率。按值传递对象涉及生成临时拷贝,即调用拷贝构造函数,然后调用析构函数。复制大型对象比传递引用花费时间要多很多。
19、基类的析构函数应当是虚的,当通过指向对象的基类指针或引用来删除派生对象时,程序将首先调用派生类的析构函数,然后调用基类的析构函数,而不仅仅是调用基类的析构函数。
20、由于友元函数并非类成员,因此不能继承。
173

被折叠的 条评论
为什么被折叠?



