#include<iostream>
using namespace std;
class CBase{
private:
int n;
public :
CBase(int m=0){n=m;}
void print(){
cout<<"Inside CBase "<<n<<endl;
}
};
class CDrive:public CBase{
private:
int n;
public :
CDrive(){n=0;}
CDrive(int A,int B):CBase(A),n(B){}
void print2(){
CBase::print();
cout << "Inside CDrive " << n << endl;
}
};
int main(){
CBase b1,b2(99),*pb;
CDrive dd(11,22),*p;
pb=&b1;
pb->print();
pb=&b2;
pb->print();
p =ⅆ
// pb->print(); // 这样写 只能访问CBase ,因为pb是CBase 的指针 ,用CDrive 定义的指针才能访问CDrive
//或者用虚函数,在基类中定义虚函数,在派生类中调用虚函数,(覆盖基类的相应虚函数),能实现基类函数访问派生类函数
//或者不用指针,用dd.print2();
p->print2();
pb->CBase::print();
return 0;
}