最贊回答 / DoDream
接口是抽象類,抽象類是只要有1個成員函數(shù)是純虛函數(shù)即可,虛基類(接口)則是所有的成員全部是純虛函數(shù)抽象類不可以實例化Flyable *p1的意思是定義一個基類指針,用來指向子類對象,通過基類指針可實現(xiàn)多態(tài)。推薦你一個不錯的網(wǎng)站,百度搜索C++技術(shù)網(wǎng),第一個就是了,里面有一些關(guān)于C++多態(tài)的文章,可以加深你對C++多態(tài)的了解,這個網(wǎng)站還有很多不錯的資源可以下載,例如電子書,IDE等。
2015-10-27
最贊回答 / 紫泉
簡單的說,C/C++傳參都是先復(fù)制一個副本,將副本傳入進去,如果沒有&,那么就會相當(dāng)于str的改變只是在函數(shù)中改變,并不會影響到實參str。 ?如果加了&, 那么傳入的就是實參str的引用,所謂引用就是實參本身,就是對實參的操作,這樣,函數(shù)內(nèi)部改變str,實參str也會改變
2015-10-26
最新回答 / Uestc_L
默認(rèn)是有符號整形,加上 unsigned 就定義為無符整形,就能表示更大的值,根據(jù)你的表示數(shù)據(jù)的需要,選擇性的使用 unsigned?
2015-10-24
最新回答 / Uestc_L
被調(diào)用了,但是父類的構(gòu)造函數(shù)里面沒有任何動作,所以你看不到被調(diào)用了,如果你在父類構(gòu)造函數(shù)里面寫上?Animal(){cout<<"Animal()";} 你就會發(fā)現(xiàn)父類構(gòu)造函數(shù)被調(diào)用的痕跡
2015-10-16
最新回答 / 流星1998
#include <iostream>#include <stdlib.h>#include <string>using namespace std;/**?* 定義動物類:Animal?* 虛函數(shù):eat()?* 純虛函數(shù):move()?* 數(shù)據(jù)成員:m_strName?*/class Animal{public:? ? // 默認(rèn)構(gòu)造函數(shù)? ? Animal(){}? ? // 含參構(gòu)造函數(shù) Animal(string name){m_strName = name;...
2015-09-14
最新回答 / yichang
不是啊,只是多含多態(tài)用到virtual。重載多態(tài),強制多態(tài),參數(shù)多態(tài)都不一定用到。個人理解,歡迎拍磚。
2015-09-11
最新回答 / onemoo
不管是內(nèi)置類型還是你自定義的類,函數(shù)中所有普通定義的對象,都是在棧上的。它們的生存時間隨作用域而定,程序流程離開作用域,對象就被自動銷毀。你打算在堆上分配對象,才用new。這樣做可以讓你自己控制對象的生存時間。
2015-09-04