编译器可以为暗自为class创建default构造函数,Copy构造函数、copy assignment操作符以及析构函数
如果内含reference成员、const成员,那么编译器不会创建copy assignment操作符。
另外,如果base classes 将copy asignment操作符声明为private,那么编译器将不会为derived classes生成一个copy assignment操作符。
为多态基类生命virtual析构函数
使得析构ptk时,能够把derived对象完全删除。
即:
带多态性质的base classes应该声明一个virtual析构函数。如果classes带有任何virtual函数,他就应该拥有一个virtual析构函数。
Classes的设计目的如果不是作为base classes使用,或不是为了多台使用,就不该生命virtual析构函数。
本文深入探讨了C++中类的设计原则,重点阐述了编译器如何为类创建默认构造函数、复制构造函数、复制赋值运算符及析构函数,并解释了在设计多态类时,为什么需要声明虚拟析构函数的重要性。
1352

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



