C++ 虚函数 虚继承 纯虚函数 之 一二三
来源:互联网 发布:macbook下载不了软件 编辑:程序博客网 时间:2024/06/05 17:15
- 虚函数是为了实现多态性:允许使用统一的接口去访问不同子类的函数。
class A{ public: A(){} virtual void print() { cout<<"I am A"<<endl; }};class B:public A{ public: B(){}; void print() { cout<<"I am B"<<endl; }};class C:public A{ public: C(){}; void print() { cout<<"I am C"<<endl; }};int main(){ A *a =new B(); (*a).print();// I am B A* a1=new C(); (*a).print();// I am C //同样的接口确输出不同的结果,这就是多态性。 return 0;}
- 虚继承是为了解决多重继承而出现的,能够解决菱形继承中二义性和节省内存开销
代码如下:
class A;
class B: public virtual A;
class C: public virtual A;
class D: public B,public C;
如果class B和class C不采用虚继承,那么在D中将会有两份A的拷贝,在调用D中的从A中间接继承下来的函数时会出现二义性,并且内存开销较大。
- 定义一个函数为纯虚函数,代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序员必须实现这个函数。
- C++ 虚函数 虚继承 纯虚函数 之 一二三
- c/c++----------虚函数、虚继承、纯虚函数
- 继承和纯虚函数
- 虚函数继承、虚继承、虚析构函数、纯虚函数
- C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
- C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
- C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
- C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
- C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
- C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
- C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
- 【C/C++】纯虚函数
- 虚函数、纯虚函数、虚继承、多继承
- 多重继承中的纯虚函数“妙用”
- 多继承与纯虚函数接口
- [C++]虚函数与纯虚函数
- C++: 浅谈虚函数、纯虚函数
- 虚拟项目学习git/github原理与基本操作3
- 习惯跟代码规范
- 协议委托
- UIApplication
- mini2440.jflash
- C++ 虚函数 虚继承 纯虚函数 之 一二三
- linux下使用modprobe命令
- 虚拟项目学习git/github原理与基本操作4
- 多线程
- 常用正则表达式
- Windows 8不达预期 比尔·盖茨应出山拯救微软
- Java 多线程编程之四:获取 Java VM 中当前运行的所有线程
- 变换gcc/g++版本的方法
- C++ 实现线程池的精典模型