《C++言語基礎》実践参考——オブジェクト配列で直方柱類を操作する
1743 ワード
戻ってきます:賀先生の授業のリンク
【項目3-オブジェクト配列で直方柱クラスを操作する】オブジェクトベースのプログラムを作成し、5つの直方柱の体積と表面積を求める.直方柱クラスBulkのデータメンバーには、長さ(length)、幅(width)、高さ(heigth)などがあります.すでに与えられたコードと照らし合わせて、やるべき仕事と要求は以下の通りです.は、5つのボックスオブジェクトからなるオブジェクト配列bがコードに示されているボックスクラスを定義する必要があります. B配列の最初の3つのオブジェクトb[0]、b[1]、b[2]の直接パラメータが初期化され、コンストラクション関数を定義する必要があるが、初期化では、各オブジェクトが提供するパラメータの数が異なり、デフォルトパラメータを持つコンストラクション関数(与えられていないパラメータのデフォルトは1.0) が必要である.の4番目のオブジェクトb[3]はデフォルトの構造関数で初期化される. 第5個直方柱b[4]定義時に初期化せず、メンバー関数get_を設計するvalue、キーボードから長さ、幅、高さを入力します. はメンバー関数outputを設計し、mainでこの5つのボックス柱の体積と表面積を呼び出す.
[参考解答]
【項目3-オブジェクト配列で直方柱クラスを操作する】オブジェクトベースのプログラムを作成し、5つの直方柱の体積と表面積を求める.直方柱クラスBulkのデータメンバーには、長さ(length)、幅(width)、高さ(heigth)などがあります.すでに与えられたコードと照らし合わせて、やるべき仕事と要求は以下の通りです.
int main()
{
Bulk b[5]={Bulk(2.3,4.5,6.7),Bulk(1.5,3.4),Bulk(10.5)};
b[4].get_value();
// 5
}
[参考解答]
#include <iostream>
using namespace std;
class Bulk
{
public:
Bulk(double x=1.0,double y=1.0,double z=1.0):lengh(x),width(y),height(z) {};
void get_value();
void display();
private:
double lengh;
double width;
double height;
};
void Bulk::get_value()
{
cout<<"please input lengh, width, height:";
cin>>lengh;
cin>>width;
cin>>height;
}
void Bulk::display()
{
cout<<" The volume is: "<<lengh*width*height<<endl;
cout<<" The surface area is: "<<2*(lengh*width+lengh*height+width*height)<<endl;
cout<<endl;
}
int main()
{
Bulk b[5]= {Bulk(2.3,4.5,6.7),Bulk(1.5,3.4),Bulk(10.5)};
b[4].get_value();
//
for(int i=0; i<5; ++i)
{
cout<<" b["<<i<<"]"<<endl;
b[i].display();
}
return 0;
}