C++类相关问题(空类、多态、重载、继承)

时间:2021-09-13 11:11:56   收藏:0   阅读:28

空类有哪些成员函数

class Empty 
{ 
public: 
Empty(); // 缺省构造函数
Empty(const Empty&); // 拷贝构造函数
~Empty(); // 析构函数
Empty& operator=(const Empty&); // 赋值运算符
Empty* operator&(); // 取值运算符 
const Empty* operator&() const; // 取值运算符
};

 

C++多态的实现

C++的多态分为静态多态和动态多态,静态多态是通过重载和函数模版来实现的,动态多态是通过虚函数和继承关系来实现的

 

  void test(int arg){}

  void test(char arg){}

  void test(int arg1, int arg2){}

   注意,当把构造函数定义为虚函数时会报错,假如构造函数是虚函数的话,由于对象开始还未分配内存空间,所以根本就无法找到虚函数表,从而构造函数也无法被调用.所以构造函数是不能成为虚函数.
   析构函数可以为虚函数, 析构函数设置为虚函数可以保证正确的析构函数序列被调用,我们释放其基类对象时,能使整个类(包括派生类)对象完全释放,如果析构函数只是普通函数,则不能析构完全。

 

原文:https://www.cnblogs.com/Dancing-Fairy/p/15244554.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!