筆記:多繼承,子類隐式轉換為基類(皆然性)
#include<iostream>
using namespace std;
class A{
public:
A(){
cout << "A構造" << endl;
}
void call(){
cout << "打電話··" << endl;
}
};
class B{
public:
B(){
cout << "B構造" << endl;
}
void take(){
cout << "照相···" << endl;
}
};
class C{
public:
C(){
cout << "C構造" << endl;
}
void play(){
cout << "播放··" << endl;
}
};
class iphoneX:public A,public B,public C{
public:
iphoneX(){
cout << "iphoneX構造" << endl;
}
};
int main(){
iphoneX ip;
ip.call();
ip.play();
ip.take();
cout << "---------------------" << endl;
A* p1 = &ip;//子類對象都看作基類對象,隐式轉換
B* p2 = &ip;
C* p3 = &ip;//皆然性,将子類對象隐式轉換為基類對象
cout <<&ip<<"\t"<< p1 << "\t" << p2 << "\t" << p3 << endl;
getchar();
return 0;
}