最贊回答 / DoDream
接口是抽象類,抽象類是只要有1個成員函數是純虛函數即可,虛基類(接口)則是所有的成員全部是純虛函數抽象類不可以實例化Flyable *p1的意思是定義一個基類指針,用來指向子類對象,通過基類指針可實現多態。推薦你一個不錯的網站,百度搜索C++技術網,第一個就是了,里面有一些關于C++多態的文章,可以加深你對C++多態的了解,這個網站還有很多不錯的資源可以下載,例如電子書,IDE等。
2015-10-27
最贊回答 / 紫泉
簡單的說,C/C++傳參都是先復制一個副本,將副本傳入進去,如果沒有&,那么就會相當于str的改變只是在函數中改變,并不會影響到實參str。 ?如果加了&, 那么傳入的就是實參str的引用,所謂引用就是實參本身,就是對實參的操作,這樣,函數內部改變str,實參str也會改變
2015-10-26
最新回答 / Uestc_L
被調用了,但是父類的構造函數里面沒有任何動作,所以你看不到被調用了,如果你在父類構造函數里面寫上?Animal(){cout<<"Animal()";} 你就會發現父類構造函數被調用的痕跡
2015-10-16
最新回答 / 流星1998
#include <iostream>#include <stdlib.h>#include <string>using namespace std;/**?* 定義動物類:Animal?* 虛函數:eat()?* 純虛函數:move()?* 數據成員:m_strName?*/class Animal{public:? ? // 默認構造函數? ? Animal(){}? ? // 含參構造函數 Animal(string name){m_strName = name;...
2015-09-14