日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

项目2抽象基类与派生类

發布時間:2024/1/8 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目2抽象基类与派生类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/* * Copyright (c) 2011, 煙臺大學計算機學院 * All rights reserved. * 作 者:王靜 * 完成日期:2013 年 6 月 2 日 * 版 本 號:v1.0 * 輸入描述: * 問題描述:寫一個程序,定義抽象基類Shape,由它派生出3個派生類,Circle(圓形)、Rectangle(矩形)、Triangle(三角形) * 程序輸出: * 問題分析: * 算法設計:略 */ #include <iostream> #define pi 3.14 using namespace std; class Shape { public:virtual double area() {return 0;}//當const =0;不可執行,為什么?? }; class Circle:public Shape {public:Circle(double r0):r(r0){}double area(){double a;a=pi*r*r;return a;}double r; }; class Rectangle:public Shape {public:Rectangle(double w,double l):wide(w),length(l){}double area(){return wide*length;}double wide;double length; }; class Triangle:public Shape {public:Triangle(double h,double s):high(h),side(s){}double area(){return side*high/2;}double high;double side; }; int main() {Circle c1(12.6),c2(4.9);//建立Circle類對象c1,c2,參數為圓半徑Rectangle r1(4.5,8.4),r2(5.0,2.5);//建立Rectangle類對象r1,r2,參數為矩形長、寬Triangle t1(4.5,8.4),t2(3.4,2.8); //建立Triangle類對象t1,t2,參數為三角形底邊長與高Shape *pt[6]= {&c1,&c2,&r1,&r2,&t1,&t2}; //定義基類指針數組pt,使它每一個元素指向一個派生類對象double areas=0.0; //areas為總面積for(int i=0; i<6; i++){areas=areas + pt[i]->area();}cout<<"totol of all areas="<<areas<<endl; //輸出總面積return 0; }



運行結果:

總結

以上是生活随笔為你收集整理的项目2抽象基类与派生类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。