1樓:匿名使用者
#include
#define pi 3.1415926
class shape
~shape(){}
virtual void printshapename( )=0;
virtual void print( )=0;
virtual double getarea()=0;
virtual double getvolume( )=0;
};class point:public shape~point(){}
void printshapename( );
void print( ){}
double getarea() //新增double getvolume( ) //新增private:
double x,double y;
};class circle:public point~circle(){}
double getarea();
void printshapename( );
void print( ){}
private:
double radius;
};class cylinder:public circlevoid getcylinder(double a,double b)
void printshapename( );
void print( ){}
double getvolume();
private:
float radius,hight;
};double cylinder::getvolume()double circle::getarea()void point::
printshapename()void fun2(shape *p)
void fun3(shape *p)
void main()
你錯誤是因為你有兩個虛擬函式沒有實現。
抽象類中的虛擬函式在後面必須給出具體的實現,記住教訓啊
2樓:施小平
把類似這樣的語句
void printshapename( );
改為:virtual void printshapename( )
3樓:不ke愛
這個錯誤就是說 不能例項化point類..你宣告瞭純虛擬函式嘛,所以不能例項化
一個c++中關於繼承性和派生類的程式設計問題,求思路
4樓:
這個需要用到多型,也就是虛擬函式,父類vehicle有一個虛擬函式display,然後再子類中實現它就可以了,指標陣列應為父類指標型別
這個應該算是c++最基本的一種程式設計過程了,建議google虛擬函式來看看
c#中抽象類可以被繼承嗎?
c中怎麼定義類,c 中怎麼定義一個類
using system public class desk 基類desk 設定desk的資訊 public void setinfo int len,int wid,int hei 列印desk的引數資訊 public void showinfo t width t height length,w...
C 中,如何例項化類例項,C 中,如何例項化一個類例項
朋璣崇綺煙 例項化這個類如果不帶引數,需要寫個不帶引數的建構函式。一般不寫建構函式,系統會自動生成一個,但是由於你寫了一個帶引數的建構函式,系統不會自動生成,如果你不在程式中自己寫出來,那麼無法例項化。繼承這個類 class dog animal 加個冒號就可以了 test t 分配給例項 t 的是...
關於C 中類的問題,關於C 中類别範本的問題
include 標頭檔案以 h 結尾 using namespace std template class complex template void complex set t a,t b 類函式在函式體外定義要寫template 類名後要加,下面同此 template void complex ...