class Test
{
public:
Test(){}
Test(int k){cout<<"非const版本被调用";}
~Test(){};
virtual void get_value()
{
cout<< a;
}
private:
int a;
};
class Test2:public Test
{
public:
Test2():a(1){};
~Test2(){};
void get_value()
{
cout<< a;
}
private:
int a;
};
比如有这么两个类Tes和他的子类Test2,现在我new1个Test2的对象用Test的指针指向他(多态的基础)Test *p=new Test2;
调用的时候这么调用p->get_value(); 即指针后面接1个->符号 这个相当于就是指针指向的那个对象了,在后面是所用的成员。
比如Test2 b; Test2 *p=new Test2; 那么b.get_value()和p->get_value()都是等价的,1个是对象,1个是指针看懂其中的差别了么
看这里->看这里->看这里->