GCC生成的虚表
来源:互联网 发布:win10 数据恢复 编辑:程序博客网 时间:2024/06/06 01:34
虚表
GCC编译器的虚表位置
在有虚析构时, 会自动产生一个虚析构代理
虚析构代理的功能:析构对象, 并删除对象的空间
虚析构,无关写在那,都会在虚表中的第一项
无继承
#include <stdio.h>class CTest{public : CTest() { m_Num1 = 1; printf("CTest"); } virtual ~CTest() { printf("~CTest"); } virtual void Test() { printf("Test"); }private: int m_Num1;};int main(int argc, char* argv[]){ CTest test; printf("end\r\n"); return 0;}
单重继承
#include <stdio.h>class CBase{public: CBase() { m_Num1 = 1; printf("CBase"); } virtual ~CBase() { printf("~CBase"); } virtual void Test1() { printf("CBase::Test1"); } virtual void Test2() { printf("CBase::Test2"); }private: int m_Num1;};class CSub: public CBase{public: CSub() { m_Num1 = 2; printf("CSub"); } virtual ~CSub() { printf("~CSub"); } virtual void Test1() { printf("CSub::Test1"); } virtual void Test3() { printf("CSub::Test3"); }private: int m_Num1;};int main(int argc, char* argv[]){ CSub test; printf("end\r\n"); return 0;}
多重继承
#include <stdio.h>class A{public: A() { m_Num1 = 1; printf("A::A"); } virtual ~A() { printf("A::~A"); } virtual void Test1() { printf("A::Test1"); } virtual void Test2() { printf("A::Test2"); }private: int m_Num1;};class B{public: B() { m_Num1 = 2; printf("B::B"); } virtual ~B() { printf("B::~B"); } virtual void Test3() { printf("B::Test3"); } virtual void Test4() { printf("B::Test4"); }private: int m_Num1;};class C : public A, B{public: C() { m_Num1 = 3; printf("C::C"); } virtual ~C() { printf("C::~C"); } virtual void Test1() { printf("C::Test1"); } virtual void Test3() { printf("C::Test3"); } virtual void Test5() { printf("C::Test5"); }private: int m_Num1;};int main(int argc, char* argv[]){ C test; printf("end\r\n"); return 0;}
虚继承
菱形继承
0 0
- GCC生成的虚表
- GCC生成的汇编代码
- GCC生成的汇编代码
- GCC生成的汇编代码
- GCC生成的汇编代码
- GCC生成的汇编代码
- GCC 生成的符号表调试信息剖析
- GCC 生成的符号表调试信息剖析
- GCC 生成的符号表调试信息剖析
- GCC 生成的符号表调试信息剖析
- GCC 生成的符号表调试信息剖析
- 生成独立的gcc调试文件
- Gcc 编译生成的h.gch文件
- GNU/GCC/G++ 编译/链接生成的常见段(section)表
- GNU/GCC/G++ 编译/链接生成的常见段(section)表
- gcc Debug版本生成
- gcc 生成库
- gcc生成动态库
- android的Handler进行UI更新
- 杭电 1232 并查集水题 畅通工程
- 坚持,以此为证
- 商城系统--登录功能
- 设计模式--工厂三姐妹
- GCC生成的虚表
- Hadoop基础教程-第4章 HDFS的Java API(4.1 Maven入门)
- 装饰模式
- word中实现文献引用
- solr的相关操作(addDocument,flush,commit,rollback,optimize,close)解析
- js正则全局匹配时获取捕获组
- 想成为程序员,这些技能不能少
- MacOSX(类FreeBSD?)的坑
- weex初尝试