c++ 编译器为class自动合成默认构造函数的四种情况
2015-03-24 22:45
302 查看
1 class 中的成员对象有默认构造函数
class foo { public: foo(); foo(int ) ... }
class bar { public: foo f; ... }
2 继承了带有默认构造函数的基类
class foo { public: foo(); foo(int ) ... }
class bar : public foo{ ... }
3 声明或继承了虚函数
class foo { public: virtual void f(); ... }
class bar : public foo{ ... }
class ttt{public: virtual void g();}
4 虚继承了基类(不论一个还是多个)
class foo { ...}
class bar : virtual public foo{ ... }
http://baike.baidu.com/link?url=um63amhVqm9H5T6RG3cIktpHz_B5cB-HMs6NjnKEQ7EwrwlTLVlT1pdOE2QDqcCmzxk3RF3uLp-SaO09zm6Igq
class foo { public: foo(); foo(int ) ... }
class bar { public: foo f; ... }
2 继承了带有默认构造函数的基类
class foo { public: foo(); foo(int ) ... }
class bar : public foo{ ... }
3 声明或继承了虚函数
class foo { public: virtual void f(); ... }
class bar : public foo{ ... }
class ttt{public: virtual void g();}
4 虚继承了基类(不论一个还是多个)
class foo { ...}
class bar : virtual public foo{ ... }
http://baike.baidu.com/link?url=um63amhVqm9H5T6RG3cIktpHz_B5cB-HMs6NjnKEQ7EwrwlTLVlT1pdOE2QDqcCmzxk3RF3uLp-SaO09zm6Igq
相关文章推荐
- 四种情况,编译器必须为未声明构造函数之class合成一个默认构造函数
- C++ 编译器生成默认构造函数的四种情况
- C++ 编译器生成默认构造函数的四种情况
- C++ 编译器生成默认构造函数的四种情况
- C++中编译器必须为未申明constructor的class合成一个default constructor的几种情况
- C++系统自动生成默认构造函数的情况
- C++:编译器合成默认构造函数和复制控制成员的条件
- 深度探索C++对象模型-----编译器’何时‘自动合成nontrivial default constructor
- 关于默认构造函数的几个错误认识(四种情况下,编译器会生成默认构造函数)
- c++中编译器必须为未申明constructor的classes合成一个default constructor的4种情况详解
- C++会生成默认构造函数的四种情况
- C++构造函数语意学--编译器在哪些情况合成default constructot
- 编译器自动生成默认构造函数的情况
- 刨根问底:C++中未初始化全局变量为什么都会被编译器自动置0
- SQL C++代码自动生成器(sql2class)介绍
- c++基础---之编译器为C++ 空类自动生成的东西有哪些
- Effective C++——》条款6:若不想使用编译器自动生成函数,就该明确拒绝 .
- C++学习之构造函数的理解--模板形式的构造函数不会遮掩编译器生成的默认构造函数
- SQL C++代码自动生成器(sql2class)介绍 - Newzai的专栏 - 博客频道 - CSDN.NET
- 《深度探索c++ 对象模型》有感之默认构造函数,拷贝构造函数,拷贝运算符的合成