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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

项目3抽象类与纯虚函数

發布時間:2024/1/8 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目3抽象类与纯虚函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/* * Copyright (c) 2011, 煙臺大學計算機學院 * All rights reserved. * 作 者:王靜 * 完成日期:2013 年 6 月 2 日 * 版 本 號:v1.0 * 輸入描述: * 問題描述:設計一個抽象類CSolid,含有兩個求表面積及體積的純虛函數。設計個派生類CCube、CBall、CCylinder,分別表示正方體、球體及圓柱體。在main()函數中,定義基類的指針p(CSolid *p;),利用p指針,輸出正方體、球體及圓柱體對象的表面積及體積 * 程序輸出: * 問題分析: * 算法設計:略 */ #include <iostream> #define pi 3.14 using namespace std; class CSolid { public:virtual double area()const =0;virtual double volume() const=0;void display(){cout<<"表面積為:"<<area()<<endl;cout<<"體積為:"<<volume()<<endl;} }; class CCube:public CSolid {public:CCube(double s):side(s){}double area()const{return side*side*6;}double volume()const{return side*side*side;}double side; }; class CBall:public CSolid {public:CBall(double r0):r(r0){}double area()const{return 4*pi*r*r;}double volume()const{return 4*pi*r*r*r/3;}double r; }; class CCylinder:public CSolid {public:CCylinder(double h,double r0):high(h),r(r0){}double area()const{return 2*pi*r*high+2*pi*r*r;}double volume()const{return pi*r*r*high;}double high;double r; }; int main() {CSolid *p;CCube cude(3.4);CBall ball(3.2);CCylinder cy(4.0,2.3);p=&cude;p->display();p=&ball;p->display();p=&cy;p->display();return 0; }


?

運行結果:

總結:

在基類里有純虛函數時,派生類中的同名稱函數聲明時要加const!!!

總結

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

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