2017.2.26

1.类与类指针交错

  子类指向子类,常规情况

  父类指向父类,常规情况

  子类指针指向父类对象,子类不涉及内部数据的函数会调用成功,涉及到内部数据的会调用成功,执行失败

              子类可以调用父类不重名的函数,如果要调用父类重名的函数,要用 yy –>父类 ::函数的形式

  父类指针指向子类对象,只能用父类的函数。

2.父类指针和子类指针的释放

   子类指针指向子类对象,顺序为先创建父类,再创建子类,先析构子类,再析构父类。

   子类指针指向父类对象,顺序为先构建父类,再构建子类,析构子类(可能发生内存越界)

   父类指针指向子类对象,顺序为先构建父类,再构建子类,析构父类(发生内存泄漏)

3.构造函数不能是虚函数

   析构函数可以是虚函数(虚函数在父类上,父类指针指向子类对象,可以释放子类,避免内存泄漏)

  派生类重载基类中的虚函数要求函数名,返回类型,函数参数个数,顺序,类型必须完全相同。

4.纯虚函数和抽象类

  virtual  函数 =0;提供接口   可以有指向纯虚函数的指针

不能实例化,不能作为参数,返回类型,有无定义都可以

4.继承一个抽象类,没有把纯虚函数全实例化,仍然是抽象类

posted @ 2017-02-26 22:10  acliang  阅读(90)  评论(0编辑  收藏  举报