首页 / 软件开发 / VC.NET / vs2008下C++对象内存布局(6):指向成员函数的指针
vs2008下C++对象内存布局(6):指向成员函数的指针2009-11-07 csdn博客 快乐虾Vs支持指向成员函数的指针,沿用上文中的类进行试验:class CParentA
{
public:
int parenta_a;
int parenta_b;
public:
virtual void parenta_f1() {this->parenta_a = 0x10;}
virtual void parenta_f2() {this->parenta_a = 0x20;}
public:
void parenta_f3() {this->parenta_a = 0x30;}
void parenta_f4() {this->parenta_a = 0x40;}
};
class CParentB
{
public:
int parentb_a;
int parentb_b;
public:
virtual void parentb_f1() {this->parentb_a = 0x50;}
virtual void parentb_f2() {this->parentb_a = 0x60;}
public:
void parentb_f3() {this->parentb_a = 0x70;}
void parentb_f4() {this->parentb_a = 0x80;}
};
class CChild : public CParentA, public CParentB
{
public:
int child_a;
int child_b;
public: // 子类的函数
virtual void child_f1() {this->child_a = 0x90;}
virtual void child_f2() {this->child_a = 0xa0;}
public: // 不可重载的函数
void child_f3() {this->child_a = 0xb0;}
void child_f4() {this->child_a = 0xc0;}
public: // 重载父类A的函数
virtual void parenta_f2() {this->child_a = 0xd0;}
virtual void parenta_f1() {this->child_a = 0xe0;}
public: // 重载父类B的函数
virtual void parentb_f2() {this->child_a = 0xf0;}
virtual void parentb_f1() {this->child_a = 0xff;}
};
CChild child, *pchild;
CParentA parent, *pparent;