[想多了]c++的this指针不是动态绑定的

来源:互联网 发布:淘宝上的驱鼠器 编辑:程序博客网 时间:2024/05/16 16:21

结论如题:

设计实验如下

#include <cstdio>class A{  int length;  int width;public:  A(int _length = 1,int _width = 2)  {    length = _length;    width = _width;  }  int Area()  {    return this->length*this->width;  }};class B: public A{  int length;  int width;public:  B(): A(){    length = 3;    width = 4;  }};intmain(int argc, char* argv[]){  B b;  std::printf("%d", b.Area());}
结果输出了2

而不是12,说明this指针指向内部的A,而不是根据实例的类型判断读取B

某种程度上这样的静态绑定才是合理的~

想多了

0 0
原创粉丝点击