C++ 类设计回顾

来源:互联网 发布:skype ubuntu 16.04 编辑:程序博客网 时间:2024/05/29 04:08

A.Main attentions

1.默认构造函数
默认构造函数要么没有参数,要么所有参数都是默认值。如果没有定义任何构造函数,编译器将定义默认构造函数。
自动生成的构造函数,具备调用基类的默认构造函数以及调用本身是对象的成员的所属的默认构造函数。
如果派生类函数成员初始化列表不显式的调用基类构造函数,则编译器将调用基类的默认构造函数来构造派生类的基类部分。
如果定义了某种构造函数,编译器将不会定义默认构造函数。
2.复制构造函数
下列情况,将使用复制构造函数

将新对象初始化为一个同类对象按值将对象传递给函数函数按值返回对象编译器生成临时对象

3.赋值运算符
默认的赋值运算符用于处理同类对象之间的赋值。

B.Others

1.构造函数
构造函数是要创建新的对象。这是不被继承的原因之一。继承意味着派生类对象可以使用基类的方法,但是,构造函数的调用在其对象创建之前。

2.析构函数
一定要显式调用析构函数。基类,也应提供一个虚析构函数

3.按值传递和按引用传递对象
通常,编写使用对象作为参数的函数时,应按引用而不是按值来传递对象。
①效率高
②继承使用虚函数时,被定义为接收基类引用参数的函数可以接收派生类。

4.返回对象和返回引用
①返回对象,等于创建副本。类似值传递。
②按引用效率高
③函数不能返回在函数内创建的引用。

5.使用const
确保方法不修改参数
确保方法不修改调用它的对象

void Star::show() const { ... }//这里const表示const Star * this,而this指向调用的对象

6.

0 0