我認爲虛擬課堂的一點是,如果一個派生類有一個公共基地,比方說,類基地,那麼派生指針可以被分配給一個指向基地類型的變量,而不使用任何顯式類型轉換。但是,如果我們在基類內,那麼我們怎樣才能調用派生類的函數。我將舉一個例子:虛擬課堂問題
class Graph{
public:
Graph(string);
virtual bool addEdge(string,string);
}
class Direct:public Graph{
public:
Direct(string);
bool addEdge(string,string);
}
Direct::Direct(string filename):Graph(filename){};
當我調用Direct類的構造函數時,它調用Graph。現在讓我們考慮Graph函數調用增加。
Graph(string str){
addedge(str,str);
}
當它調用addge時,即使函數是虛擬的,它也會調用Graph :: edge。我想要的是,調用Direct :: addge。如何做呢?
看到這個答案:http://stackoverflow.com/questions/448295#448295 – 2010-05-02 16:59:03
?是U + 0130:拉丁大寫字母我與上面的點。 – 2010-05-02 17:32:28