基类指针引用派生类对象-创新互联
#include
#include
using namespace std;
class A{
char name[20];
public:
void put_name(char *n){ strcpy_s(name, n); }
void get_name()const{
cout << name << endl;
};
};
class B:public A{
char num[20];
public:
void put_num(char *n){ strcpy_s(num, n); }
void get_num()const{
cout << num << endl;
}
};
int main(){
A *A_point;
A A_obj;
B *B_point;
B B_obj;
A_point = &A_obj;
A_point->put_name("li ming");
A_point->get_name();
//B_point = &A_obj;派生类的指针无法引用基类的对象
A_point = &B_obj;//基类指针却可以引用派生类对象
A_point->put_name("wu lei");
A_point->get_name();
//注意基类指针只可以使用自己基类的函数
//例如
//A_point->put_num("1111");错误!
((B *)A_point)->put_name("0370 - 2815645");
//把指针类型显示转换成派生类就可以调用派生类的成员
((B *)A_point)->get_name();
system("pause");
return 0;
}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站栏目:基类指针引用派生类对象-创新互联
文章来源:http://pwwzsj.com/article/hpegg.html