C++ 课程作业 类与对象2——构造函数、拷贝构造函数、析构函数(油桶题)
生活随笔
收集整理的這篇文章主要介紹了
C++ 课程作业 类与对象2——构造函数、拷贝构造函数、析构函数(油桶题)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先題目要求
某工廠使用一種圓柱形的鐵桶來運輸色拉油,但是關于該油桶的容量已經模糊,現在工人們測得了油桶直徑和高(由鍵盤輸入),請幫工人們計算一下油桶容量和制造該油桶需要的鐵皮面積。
注意這個油桶是有蓋的。鐵皮的厚度忽略不計。
請設計一個類cylinder,該類具有私有成員 r和h,r表示半徑,h表示高。
該類還有4個公有成員,分別為
1、求解體積函數getvolumn()
2、求解表面積函數 getarea()
3、構造函數,作用為給私有成員 r和h傳遞初始化值,并輸出“構造函數被調用”。
4、析構函數,該函數暫時不做額外處理工作,但需要輸出“析構函數被調用”
【輸入形式】
輸入包括一行,有兩個浮點數,分別表示油桶的直徑和高,中間用空格空開
【輸出形式】
輸入包括兩行,有兩個浮點數,分別為油桶的容量和鐵皮面積,保留6位小數
下面上代碼
#include<iostream> #include<iomanip> using namespace std; const double PI=3.1415926; //定義常量PI 方便調用 class cylinder//類定義 注意全部double型 不然數據過不了 {public: double getvolumn();//計算體積double getarea();//計算表面積cylinder(double newr,double newh);//構造函數~cylinder();//析構函數private:double r,h; }; double cylinder::getvolumn() {return PI*r*r*h;//返回體積 } double cylinder::getarea() {return PI*r*r*2+2*PI*r*h;//返回面積 } cylinder::cylinder(double newh,double newr) {r=newr;h=newh;cout<<"構造函數被調用"<<endl; } cylinder::~cylinder() {cout<<"析構函數被調用"<<endl; } int main() {double d,h;cin>>d>>h;cylinder can(h,d/2);//輸入并且初始化私有成員cout<<fixed<<setprecision(6);cout<<"油桶的容積是"<<can.getvolumn()<<" "<<endl;cout<<"鐵皮的面積是"<<can.getarea()<<endl;return 0; }總結:構造函數的練習 構造函數還是有點不熟悉 定義的時候經常忘記“;”
數據要全部double型!
總結
以上是生活随笔為你收集整理的C++ 课程作业 类与对象2——构造函数、拷贝构造函数、析构函数(油桶题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arduino平衡车超声波_Arduin
- 下一篇: Jess 7.2p2——Java平台规则