c++一般继承内存布局
来源:互联网 发布:鸽子淘宝 编辑:程序博客网 时间:2024/06/08 15:24
#include <iostream>
using namespace std;
class A
{
public:
void show()
{
cout<<"A::show()\n";
}
private:
int a1;
};
class B : public A
{
public:
void show(){cout<<"B()\n";}
private:
int b1;
};
class C : public B
{
public:
void show(){cout<<"C()\n";}
private:
int c1;
};
int main()
{
C c;
}
/*
class C size(12):
+---
| +--- (base class B)
| | +--- (base class A)
0 | | | a1
| | +---
4 | | b1
| +---
8 | c1
+---
*/
#if 0
class A1
{
public:
void show()
{
cout<<"A1::show()\n";
}
private:
int a1;
};
class A2
{
public:
void show()
{
cout<<"A2::show()\n";
}
private:
int a2;
};
class B : public A1,public A2
{
public:
void show()
{
cout<<"B::show()\n";
}
private:
int c;
};
int main()
{
B b;
}
class B size(12):
+---
| +--- (base class A1)
0 | | a1
| +---
| +--- (base class A2)
4 | | a2
| +---
8 | c
+---
/*
class B size(8):
+---
| +--- (base class A)
0 | | a
| +---
4 | c
+---
*/
#endif
using namespace std;
class A
{
public:
void show()
{
cout<<"A::show()\n";
}
private:
int a1;
};
class B : public A
{
public:
void show(){cout<<"B()\n";}
private:
int b1;
};
class C : public B
{
public:
void show(){cout<<"C()\n";}
private:
int c1;
};
int main()
{
C c;
}
/*
class C size(12):
+---
| +--- (base class B)
| | +--- (base class A)
0 | | | a1
| | +---
4 | | b1
| +---
8 | c1
+---
*/
#if 0
class A1
{
public:
void show()
{
cout<<"A1::show()\n";
}
private:
int a1;
};
class A2
{
public:
void show()
{
cout<<"A2::show()\n";
}
private:
int a2;
};
class B : public A1,public A2
{
public:
void show()
{
cout<<"B::show()\n";
}
private:
int c;
};
int main()
{
B b;
}
class B size(12):
+---
| +--- (base class A1)
0 | | a1
| +---
| +--- (base class A2)
4 | | a2
| +---
8 | c
+---
/*
class B size(8):
+---
| +--- (base class A)
0 | | a
| +---
4 | c
+---
*/
#endif
0 0
- c++一般继承内存布局
- 【C++】菱形虚拟继承(内存布局)
- 【c++】深度探索虚继承内存布局
- C++-对象继承中的内存布局
- C++ 多继承和虚继承的内存布局
- 虚继承--内存布局
- 虚继承内存布局
- C++继承内存布局
- C++继承内存布局
- C++继承内存布局
- 【C++】c++单继承、多继承、菱形继承内存布局(虚函数表结构)
- 【C++】c++单继承、多继承、菱形继承内存布局(虚函数表结构)
- 虚拟继承内存布局图示
- c++继承中的内存布局
- c++继承中的内存布局
- c++继承中的内存布局
- c++继承中的内存布局
- 多重继承内存布局分析
- OpenCv之边缘检测Sobel算子
- 个性化推荐算法比较
- 108. Convert Sorted Array to Binary Search Tree(unsolved)
- HTTPClient 工具类的使用
- EffectiveJava(4)通过私有构造器强化不可实例化的能力
- c++一般继承内存布局
- express框架下session.Store报错
- 欢迎使用CSDN-markdown编辑器
- 深度学习解决多视图非线性数据特征融合问题
- 《CSS权威指南第三版》第二章的读书笔记
- eclipse中常用的快捷键汇总。
- bat启动class文件,自制带目录结构的文件内容加密小工具
- HPUOJ---2017寒假作业--专题0/F-The MAX
- Android相关