C++类的virtual继承关系
来源:互联网 发布:微信端口 编辑:程序博客网 时间:2024/06/12 00:03
class X{public:void getX(){cout<<"getX"<<endl;}int i,j,k,m;};class Y: virtual public X{public:void getY(){cout<<"getY"<<endl;}};class Z:virtual public X{public:void getZ(){cout<<"getZ"<<endl;}};class Box:public Y, public Z{public:void getBox(){cout<<"Box"<<endl;}};int main(){Box b;b.getX();cout<<sizeof(Z)<<endl; return 0;}
总结:
1、类的继承如果有B继承A,C继承A,D继承BC时,D中就要两份一样的A的类成员,通过virtual继承方式,可以D中就只会有一份A的类成员。
2、虚集成会消耗额外的内存空间,和虚函数表类似。
3、只有再多重继承中,virtual才有用,其他情况下使用,会降低效率并且多内存消耗。
0 0
- C++类的virtual继承关系
- c#_虚基类[virtual ],基类与子类继承及引用关系
- C++ virtual 继承
- C++virtual继承
- C++(2)继承/virtual
- 关于virtual和override的在类继承中的调用关系
- Objective-C 类继承关系
- C++-继承:基类与派生类的关系
- .NET(C#):判断Type类的继承关系
- 类的继承与派生(虚拟继承Virtual)
- [C++]友元关系的继承性
- C++-继承:基类与派生类对象的关系&&继承与组合
- msxml类的继承关系
- RED类的继承关系
- UIKit类的继承关系
- unity3d 类的继承关系
- Python:类的继承关系
- C++当中的virtual继承
- ubuntu14.4.04 查看CPU/GPU 内存使用情况
- ftp服务器端的安装及配置
- exec函数族的使用
- jsp中页面定时自动刷新跳转和按F5刷新跳转
- iOS根据陀螺仪等传感器获得夹角等数据
- C++类的virtual继承关系
- libcurl在XP调用报GetTickCount64未找到的解决办法
- RecyclerView 实现多种布局(上半部Gridview样式,下半部Listview样式)以及多种数据类型实现不同布局
- tomcat+nginx+redis实现均衡负载、session共享(一)
- SHELL命令-主机信息
- Swift3.0中关于日期类的使用指引
- css3
- C# 文件与目录的基本操作
- Response.setContentType()详细参数