酷!學園

技術討論區 => 程式討論版 => C/C++程式設計討論區 => 主題作者是: f905201 於 2012-05-20 00:15

主題: C++, 想請教物件繼承的問題
作者: f9052012012-05-20 00:15
請問各位坂大,

CODE如下
代碼: [選擇]
#include <iostream>
using namespace std;

class aaa
{
public:
aaa(int){}
virtual void p1(){cout << "aaa";}

};

class bbb :public aaa
{
public:
int v1;
bbb(int):aaa(3),v1(4){}
void p1(){cout << "bbb";}

};

aaa f1 ()
{

return bbb(3);

}

int main()
{
aaa a1(1);
aaa a2 = f1();
a1.p1();
a2.p1();

return 0;
}


想請問,若想讓a2輸出bbb應該怎麼修正呢???
virtual是這樣用的嗎??
主題: Re: C++, 想請教物件繼承的問題
作者: elleryq2012-05-22 15:24
應該是這樣
代碼: [選擇]
aaa* a2=fl();
a2->pl();
主題: Re: C++, 想請教物件繼承的問題
作者: f9052012012-05-22 19:41
這樣還得把f1的return type改成return reference 吧?
主題: Re: C++, 想請教物件繼承的問題
作者: elleryq2012-05-23 09:57

對,指標或reference都可以。