您好,登錄后才能下訂單哦!
#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();
//注意基類指針只可以使用自己基類的函數(shù)
//例如
//A_point->put_num("1111");錯誤!
((B *)A_point)->put_name("0370 - 2815645");
//把指針類型顯示轉(zhuǎn)換成派生類就可以調(diào)用派生類的成員
((B *)A_point)->get_name();
system("pause");
return 0;
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。