vptr指针

来源:互联网 发布:淘宝usa商城假货 编辑:程序博客网 时间:2024/05/21 03:45

实例;

#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <cstring>using namespace std;class base1{public:base1(){print();}virtual ~base1(){cout << "父类1析构" << endl;}public: virtual void print(){cout << "print1" << endl;}};class base2 :public base1{public:base2(){print();}virtual ~base2(){cout << "父类1析构" << endl;}public:virtual void print(){cout << "print2" << endl;}};int main(){base2 oop;system("pause");return 0;}
这个案例打印出print1,print2,这里的结论为:

在生成对象是Vptr指针是分布初始化的,在执行父类构造函数中的print时,vptr指针指向父类中的虚函数表,在执行子类的构造函数中的print时vptr指针指向子类的虚函数表

阅读全文
0 0
原创粉丝点击