//构造函数的重载
#include<iostream>
using namespace std;
class Box
{
//两个构造函数
public:
Box();//一个无参数 ,在函数体中对其私有数据成员赋值
Box(int h,int w,int len):height(h),width(w),length(len){}//第二个构造函数直接在类体的的定义中,参数初始化
int volume();
private:
int height;
int width;
int length;
};
Box::Box( )
{
height=10;
width=20;
length=30;
}
int Box::volume()
{
return(height*width*length);
}
//对于一个对象只执行其中一个构造函数
int main( )
{
Box box1;
cout<<box1.volume()<<endl;
Box box2(15,30,25);
cout<<box2.volume()<<endl;
system("pause");
return 0;
}
/*
在声明构造函数时指定默认参数
如第9行可改为
Box(int h=10,int w=10,int len=10);
构造函数依然如原来一样。
1.Box box1
box1.volume则是10*10*10
2.Box box2(15)
box2.volume则15传给h ,15*10*10
3.Box box3(15,30,40)
box3.volume则是15*30*40
*/
转载于:https://www.cnblogs.com/tangcong/archive/2011/06/08/2075875.html