当前位置:编程学习 > 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 su易做图ce_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::su易做图ce_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].su易做图ce_are()  
         << endl 
         << "第二个长方柱的体积: " << b[1].volume() << '\t' << " 面积: " << b[1].su易做图ce_are()  
         << endl 
         << "第三个长方柱的体积: " << b[2].volume() << '\t' << " 面积: " << b[2].su易做图ce_are()  
         << endl 
         << "第四个长方柱的体积: " << b[3].volume() << '\t' << " 面积: " << b[3].su易做图ce_are()  
         << endl 
         << "第五个长方柱的体积: " << b[4].volume() << '\t' << " 面积: " << b[4].su易做图ce_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 su易做图ce_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::su易做图ce_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].su易做图ce_are()
   << endl
   << "第二个长方柱的体积: " << b[1].volume() << '\t' << " 面积: " << b[1].su易做图ce_are()
   << endl
   << "第三个长方柱的体积: " << b[2].volume() << '\t' << " 面积: " << b[2].su易做图ce_are()
   << endl
   << "第四个长方柱的体积: " << b[3].volume() << '\t' << " 面积: " << b[3].su易做图ce_are()
   << endl
   << "第五个长方柱的体积: " << b[4].volume() << '\t' << " 面积: " << b[4].su易做图ce_are()
   << endl;

 return 0;
}


 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,