温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

基类指针引用派生类对象

发布时间:2020-06-12 10:15:53 来源:网络 阅读:450 作者:神迹难觅 栏目:编程语言

#include<iostream>

#include<cstring>

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;

}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI