[面向对象]编译器默认提供给类的函数

没有显式声明时,编译器为类提供以下函数:

1. default constructor,当没有显式声明任何构造函数时

2. copy constructor

3. copy assignment,类中不含references和const成员,且其base classes的copy assignment操作符不为private

4. destructor

值得注意的是:

1. 自动生成的函数均为inline

2. 只有当这些函数被需要(调用)时,编译器才会生成它们

3. C++不允许reference改指向不同对象,有点类似于const变量

4. copy assignment的限制对于copy constructor不成立,因为前者是赋值,后者相当于初始化

posted @ 2012-09-02 11:18  浓得化不开  阅读(148)  评论(0编辑  收藏  举报