C知識定義抽象類shape應以計算面積

2021-03-04 07:09:47 字數 4110 閱讀 1649

1樓:

#include

using namespace std;

class shape //抽象基類

//建構函式

virtual double area() = 0; //面積計算函式(純虛函式)

};class rect:public shape //派生類——矩形

double area() //面積計算函式(實現)

};class circle:public shape //派生類——圓形

//建構函式

double area() //面積計算函式(實現)

};class trapezium:public shape //派生類——梯形

double area() //面積計算函式(實現)

};void main()

c++ 定義乙個抽象類cshape,包含純虛函式 getarea和純虛函式setdata,然後派生出三角形c********類、矩形

2樓:匿名使用者

#include

using namespace std;

class cshape;

class c********:public cshape

void setarea()

bool operator>(const cshape& cbase)

};class crect:public cshape

void setarea()

bool operator>(const cshape& cbase)

};class ccircle:public cshape

void setarea()

bool operator>(const cshape& cbase)

};int main(){

c******** ct;

ct.setarea();

cout<<"c********面積:"< cr && ct > cc)

cout<<"c********面積最大!"< ct && cr > cc)

cout<<"crect面積最大!"< ct && cc > cr)

cout<<"ccircle面積最大!"<

執行結果:

定義乙個抽象類shape表示圖形類,包含乙個抽象方法doublearea()用來計算圓形的面積

3樓:匿名使用者

1、通過快捷方式開啟myeclipse工具,在專案處滑鼠右鍵新建java專案。

2、輸入專案名稱cmk,然後選擇jre8(系統安裝的jre),點選next。

3、進入下一步,選擇預設輸出檔案目錄,然後點選finish完成新建。

4、開啟新建java專案,新建乙個package,然後在包中新建乙個java 類。

5、定義抽象類user,包含了屬性name、age;抽象方法write()即可。

4樓:南瓜蘋果

**如下:

using namespace std;

class shape

;class ********:public shape;擴充套件資料抽象類的意義:

抽象類是不完整的,它只能用作基類。在物件導向方法中,抽象類主要用來進行型別隱藏和充當全域性變數的角色。抽象類往往用來表徵對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。

比如,在乙個圖形編輯軟體的分析設計過程中,就會發現問題領域存在著圓、三角形這樣一些具體概念,它們是不同的,但是它們又都屬於形狀這樣乙個概念,形狀這個概念在問題領域並不是直接存在的,它就是乙個抽象概念。

而正是因為抽象的概念在問題領域沒有對應的具體概念,所以用以表徵抽象概念的抽象類是不能夠例項化的。

5樓:夜神

//測試

類public class test

}//抽象類

public abstract class shape//圓類

public class circle extends shapevoid setd(double r)

}//矩形類

public class rect extends shapevoid setlenwid(double length, double width)

}測試結果

圓的面積是50.24

矩形的面積是12.0

6樓:硬幣小耗

方法如下:

public class test

}//抽象類

public abstract class shape//圓類

public class circle extends shapevoid setd(double r)}

定義乙個抽象類cshape,包含純虛函式area(用來計算面積)和setdata(用來重設形狀大小)。然後派生出三角

7樓:匿名使用者

#include "stdafx.h"

#include

#include

using namespace std;

class cshape

;class ctriange:public cshapeclass crect:public cshapeclass ccircle:public cshapeint main()

定義乙個抽象類shape,包括公有的計算面積area函式,計算體積volume函式,輸出基本資訊函

8樓:育知同創教育

#include

#define pi 3.14

using namespace std;

class shape

};class circle : public shapevirtual void area()

};class rectangle : public shapevirtual void area();

};class ******** : public shapevirtual void area()

};void display()

int main()

}for (int i = 0; i < num; i++)return 0;}

c++中如何宣告乙個抽象類shape? 60

9樓:匿名使用者

希望你有用

。#include

class sharp

~sharp(){}

virtual float getarea()=0;

virtual float getperim()=0;

};class rectangle:public sharp;~rectangle();

virtual float getarea()float getperim()

virtual float getlength()virtual float getwidth()private:

float itslength;

float itswidth;

};class circle:public sharp~circle(){}

float getarea()

float getperim()

private:

float itsradius;

};void main()

10樓:_鈊_煩_薏亂

。。。。。。。。

宣告乙個shape類,具有純虛函式getarea和getperim,rectangle和circle的資料成員自己隨便新增。

然後就可以了撒。很簡單。

11樓:張立斌

class sharp

virtual float getarea()=0;

virtual float getperim()=0;

!sharp(){}

private:

double area;

double perim;};

c抽象類和普通類的區別,java中抽象類和介面的區別?

1.c 沒有abstract.vc提供了乙個inte ce 2.抽象類就是指不能例項化的類,因為它們包含了純虛方法。3.虛函式是在申明的時候用了關鍵字virtual的類的 非靜態 成員函式 java中抽象類和介面的區別?抽象類是用來捕捉子類的通用特性的 它不能被例項化,只能被用作子類的超類。抽象類是...

如果在抽象類中定義私有變數,子類繼承抽象類後,子類中的方法需要訪問抽象類中定義的私有變數怎麼辦

私有的子類是不可以用的。但是如果想訪問父類的私有變數或者改變私有變數,可以在超類中定義兩個方法get set 在抽象父類裡定義兩個setter getter方法。抽象類不是必須有抽象方法。定義私有變數主要是防new的 你把類定為靜態,或者把變數定義為靜態,等都可以訪問 set,get來獲取 priv...

C已經在派生類中重定義了抽象類中的純虛函式,為什麼還不讓我用派生類定義物件

抽象類中的純虛函式為 void printarea const但是派生類中的虛函式為 void printarea circle const void printarea rectangle const void printarea const 這些派生類中的函式與抽象類中純虛函式只是重名,但是並不...