锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
2錛屾ā鏉垮畾涔?br>妯℃澘鍑芥暟瀹氫箟錛?br>template<typename T>
int compare(const T &v1,const T &v2);
鍐呰仈鍑芥暟錛?br>inline template<typename T> int compare(const T &v1,const T &v2);
class D : public C
{
private:
int numD;
};
class A
{
public:
//A鏄跡鐨勫弸鍏冿紝鍙互璁塊棶錛g殑縐佹湁鎴愬憳
void getFromC()
{
C c;
c.numC = 100;
cout<<"getFromC in A : numC = "<<c.numC<<endl;
};
//錛′笉鏄激鐨勫弸鍏冿紝涓嶈兘璁塊棶錛や腑鏂板鐨勭鏈夋垚鍛橈紝浣嗗彲浠ヨ闂激浠庯跡涓戶鎵胯屾潵鐨勭鏈夋垚鍛?br> void getFromD()
{
D d;
d.numC = 23;
cout<<"getFromD in A : numC = "<<d.numC<<endl;
//d.numD = 24;
//cout<<"getFromD in A : numD = "<<d.numD<<endl;
}
};
class B :public A
{
public:
//鍙嬪厓鍏崇郴涓嶈兘緇ф壙錛屾柊澧炵殑鏂規硶涓嶈兘璁塊棶錛g殑縐佹湁鎴愬憳
// int getNumB()
// {
// C c;
// c.numC = 100;
// return c.numC;
// }
//鏀瑰啓鏂規硶鍚庡錛h闂潈闄愭敼鍙?/span>錛屼笉鑳借闂跡鐨勭鏈夋垚鍛?br>// void getFromC()
// {
// C c;
// c.numC = 100;
// cout<<"getFromC in B : numC = "<<c.numC<<endl;
// }
};
int _tmain(int argc, _TCHAR* argv[])
{
A a;
a.getFromC();//杈撳嚭鈥斺攇etFromC in A : numC = 100
a.getFromD();//杈撳嚭鈥斺攇etFromD in A : numC = 23
B b;
b.getFromC();//杈撳嚭鈥斺攇etFromC in A : numC = 100
//璋冪敤鐨勮繕鏄疉::getFromC
return 0;
}