C++用抽象類,派生類求圓,正方形,矩形,梯形,三角形面積
cout<<"/t/t*************************************"<<endl;
cout<<"/t/t 請選擇選單 "<<endl;
cout<<"/t/t 1.求圓面積 "<<endl;
cout<<"/t/t 2.求正方形面積 "<<endl;
cout<<"/t/t 3.求長方形面積 "<<endl;
cout<<"/t/t 4.求梯形面積 "<<endl;
cout<<"/t/t 5.求三角形面積 "<<endl;
cout<<"/t/t 6.求所有形狀圖形面積的和"<<endl;
cout<<"/t/t 0.退出 "<<endl;
cout<<"/t/t*************************************"<<endl;
cin>>i;
switch(i)
{
case 1: {
cout<<"請輸入圓半徑R,橫座標X,縱座標Y:";
cin>>a>>b>>c;
circle C(a,b,c);
p[0]=&C;
p[0]->show();
}break;
case 2: {
cout<<"請輸入正方形的邊長A:";
cin>>b;
Square S(b);
p[1]=&S;
p[1]->show();
}break;
case 3:{
cout<<"請輸入長方形的長和寬A,B:";
cin>>a>>b;
Rectangle R(a,b);
p[2]=&R;
p[2]->show();
}break;
case 4:{
cout<<"請輸入梯形上底,下底,高A,B,H:";
cin>>a>>b>>c;
Trapezoid Tra(a,b,c);
p[3]=&Tra;
p[3]->show();
}break;
case 5:{
cout<<"請輸入三角形的三邊A,B,C:";
cin>>a>>b>>c;
Triangle Tri(a,b,c);
p[4]=&Tri;
if(Tri.Istriangle()) /*判斷是否符合三角形三邊的條件*/
p[4]->show();
}break;
case 6:{float k=0;
for(i=0;i<5;i++)
{if(p[i]==NULL)
k=k+0;
else k=k+p[i]->area();}
cout<<"總面積為:"<<k<<endl;
}
break;
相關推薦
C++用抽象類,派生類求圓,正方形,矩形,梯形,三角形面積
do{cout<<"/t/t*************************************"<<endl;cout<<"/t/t 請選擇選單 "<<endl;cout<<"/t/t
基類派生類
ffi 是我 etag plus prot 間接 ron img tco 看了c#的教程,也上網絡上搜索基類與派生類的概念,一直沒有一個很明確的定義.弄得偶一直很迷糊,現在搜索到c++的教程裏倒是有比較明確的說明,特意貼在這裏,幫助自己理解. 繼承機制提供了無限重復利用程序
基類 派生類 類的繼承與約束
用法 1、在基類中定義所有的方法,在各個派生類中繼承基類,派生類可以直接呼叫基類中的方法,基類中的方法就是預設配置方法,若項自定義方法可以在派生類中自定義方法。 2、在基類中定義方法,方法中丟擲異常,異常內容為提示必須建立此方法,派生類繼承基類,若派生類中為定義基類中方法則呼叫時丟擲異常,提示派生類必須自
繼承基類派生類,虛擬函式小結
基類TableTennisPlayer 派生類RatedPlayer 1. 基類指標可以在不進行顯示型別轉換的情況下指向派生類物件;基類引用可以在不進行顯示型別轉換的情況下引用派生類物件. RatedPlayer palyer(1000,”Mallory”,
用面向物件方法實現求圓和橢圓的周長與面積
設最底層的基類為Shape,Shape有周長和麵積,圓Circle和橢圓Ellipse繼承於Shape,設定計算周長的介面為circum(),計算面積的介面為area()。繼承圖表如下: 圖(1) Shape、Circle和Ellipse之間的繼承圖表
計算幾何 ( 求凸包,計算三角形面積 )——最大三角形 ( HDU 2202 )
1.求凸包: int cmp(point a, point b) //水平排序 { if(a.x==b.x)return a.y<b.y; return a.x
Opencv識別圓,矩形,三角形的步驟(優化)
按照之前的步驟雖然可以識別出來,但是識別效果受角度,光照的因素很大!故在原來的基礎上做了些優化,最主要的是用到腐蝕膨脹函式,優化效果如下: 步驟如下: 0.通過攝像頭或是載入圖片的方式獲
C++資訊學奧賽一本通題庫1034計算三角形面積
計算三角形面積 時間限制: 1000 ms 記憶體限制: 65536 KB 提交數: 1813 通過數: 622 【題目描述】 平面上有一個三角形,它的三個頂點座標分別為(x1, y1), (x2, y2), (x3, y3),那麼請問這個三角形的
習題 12.5 寫一個程式,定義抽象基類Shape,由它派生出5個派生類:Circle、Square、Rectangle、Tarpezoid、Triangle。用虛擬函式分別計算幾種圖形面積,並求。。。
C++程式設計(第三版) 譚浩強 習題12.5 個人設計 習題 12.5 寫一個程式,定義抽象基類Shape,由它派生出5個派生類:Circle、Square、Rectangle、Tarpezoid、Triangle。用虛擬函式分別計算幾種圖形面積,並求它們的和
C++基類和派生類的構造函數和析構函數的調用
str 生命 ons stream all 兩種 col 生命期 析構函數 C++基類和派生類的構造函數和析構函數的調用 1.調用順序 當創建一個派生類的對象時,系統首先自動創建一個基類對象,也就是說,在調用派生類構造函數創建派生類對象之前,系統首先調用基類的構造函數創
C++——類的綜合案例——純虛函數與抽象類( 加強對接口與多態,以及派生類構造函數的理解 )
構造 set 由於 技術 als str wid choice gre 註意派生類構造函數的寫法。 1 #include <iostream> 2 3 using namespace std; 4 5 enum COLOR {
習題 12.4 寫一個程式,定義抽象基類Shape,由它派生出3個派生類:Circle(圓形)、Rectangle(矩形)、Triangle(三角形),用一個函式printArea分別輸出以上。。。
C++程式設計(第三版) 譚浩強 習題12.4 個人設計 習題 12.4 寫一個程式,定義抽象基類Shape,由它派生出3個派生類:Circle(圓形)、Rectangle(矩形)、Triangle(三
C++動態聯編的好處,為什麼要用基類的指標指向派生類的方式來實現重寫
動態聯編的意義:省事 一個derived類物件,要呼叫一個函式,他就會在自己的類中查詢函式名,如果找到了就呼叫自己的; 如果沒找到就到基類找,呼叫基類的函式。(名字查詢優先於型別檢查,找到名字符合的就停下來,不向上一個基類的作用域繼續找)。 class
第13周實驗--任務3--定義抽象基類Shape,由它派生出3個派生類,Circle、Rectangle、Triangle。求出定義的3個幾何體的面和。
* (程式頭部註釋開始) * 程式的版權和版本宣告部分 * Copyright (c) 2011, 煙臺大學計算機學院學生 * All rights reserved. * 檔名稱:設計一個抽象基類,生出三個派生類。 * 作 者: 雷恆鑫
用c++建立一個類SUM,求二維陣列外圍各元素的和,並且輸出陣列各元素及所求之和。
具體要求如下: (1)私有資料成員 int a[4][4]:二維陣列,存放要處理的資料。 int s:存放陣列a外圍各元素的和。 (2)公有成員函式 SUM(int b[4][4]):建構函式,用陣列
C++第十三週【任務3】定義抽象基類Shape,由它派生出3個派生類,Circle(圓形)、Rectangle(矩形)、Triangle(三角形)
/* * 程式的版權和版本宣告部分 * Copyright (c) 2011, 煙臺大學計算機學院學生 * All rights reserved. * 檔名稱:C++第十三週【任務3】 * 作 者:
《C++第十三週實驗報告4-1》---設計一個抽象類CSolid,含有兩個求表面積及體積的純虛擬函式。 設計個派生類CCube、CBall、CCylinder,分別表示正方體、球體及圓柱體。...
/* 【任務4】設計一個抽象類CSolid,含有兩個求表面積及體積的純虛擬函式。 設計個派生類CCube、CBall、CCylinder,分別表示正方體、球體及圓柱體。 在main()函式中,定義基類的指標p(CSolid *p;),利用p指標,輸出正方體、球體及圓柱體物件的
C++ 用類封裝實現隊列
pan pub pre () turn ear als sin push 1 #include<stdlib.h> 2 #include <iostream> 3 using std::cout; 4 using std::end
抽象類,子類調用弗雷的方法,super
經典 clas 沒有 meta 文本 優先 base pri bst 1\ 抽象類 子類 必須與子類一樣的函數名, 限制了子類名必須與父類名一樣,就定義了一個標準,做統一, 抽象類,不能被實例化,作用就是定義標準,不用具體實例化 1 Python本身不提供抽象類和接
C#調用自己定義表類型參數
drop pro -h height csharp pass ria code not null -SQL SERVER生成測試環境:--創建測試DB CREATE database Sales; go USE Sales GO --創建表類型 IF TYPE_ID(‘