程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c++例題 構造函數

c++例題 構造函數

編輯:C++入門知識

編寫基於對象的程序,求5個長方柱的體積和表面積。長方柱類Bulk的數據成員包括長(length)、寬(width)、高(heigth)等。另外:
  (1)需要定義長方柱類,5個長方柱采用一個對象數組表示;
  (2)定義相應的構造函數以支持如下main()函數中的初始化,其中前3個直接給出參數初始化(未給出的參數默認為1.0),第4個對象b[3]用默認構造函數初始化;第5個長方柱定義時不初始化,而是由鍵盤輸入長、寬、高賦值;
  (3)輸出這5個長方柱的體積和表面積;

[cpp]
#include <iostream>  
using namespace std; 
 
class Bulk 

private: 
    double length; 
    double width; 
    double height; 
public: 
    Bulk(double len = 1.0,double wid = 1.0,double hei = 1.0):length(len),width(wid),height(hei){} 
    void get_value(); 
    double volume(); 
    double surface_are(); 
}; 
 
void Bulk::get_value() 

    cout <<"please input the length width and height: " << endl; 
    cin  >> length >> width >> height; 

 
double Bulk::volume() 

    return length*width*height; 

 
double Bulk::surface_are() 

    return 2*(length*width+width*height+height*length); 

 
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個長方柱的體積和表面積  
 
    cout << "第一個長方柱的體積: " << b[0].volume() << '\t' << " 面積: " << b[0].surface_are()  
         << endl 
         << "第二個長方柱的體積: " << b[1].volume() << '\t' << " 面積: " << b[1].surface_are()  
         << endl 
         << "第三個長方柱的體積: " << b[2].volume() << '\t' << " 面積: " << b[2].surface_are()  
         << endl 
         << "第四個長方柱的體積: " << b[3].volume() << '\t' << " 面積: " << b[3].surface_are()  
         << endl 
         << "第五個長方柱的體積: " << b[4].volume() << '\t' << " 面積: " << b[4].surface_are()  
         << endl; 
 
    return 0; 

#include <iostream>
using namespace std;

class Bulk
{
private:
 double length;
 double width;
 double height;
public:
 Bulk(double len = 1.0,double wid = 1.0,double hei = 1.0):length(len),width(wid),height(hei){}
    void get_value();
 double volume();
 double surface_are();
};

void Bulk::get_value()
{
 cout <<"please input the length width and height: " << endl;
    cin  >> length >> width >> height;
}

double Bulk::volume()
{
 return length*width*height;
}

double Bulk::surface_are()
{
 return 2*(length*width+width*height+height*length);
}

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個長方柱的體積和表面積

 cout << "第一個長方柱的體積: " << b[0].volume() << '\t' << " 面積: " << b[0].surface_are()
   << endl
   << "第二個長方柱的體積: " << b[1].volume() << '\t' << " 面積: " << b[1].surface_are()
   << endl
   << "第三個長方柱的體積: " << b[2].volume() << '\t' << " 面積: " << b[2].surface_are()
   << endl
   << "第四個長方柱的體積: " << b[3].volume() << '\t' << " 面積: " << b[3].surface_are()
   << endl
   << "第五個長方柱的體積: " << b[4].volume() << '\t' << " 面積: " << b[4].surface_are()
   << endl;

 return 0;
}


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved