构造函数的重载
程序代码://构造函数的重载
/*在一个类中可以定义多个构造函数,以便对类对象提供不同的初始化的方法,供用户选用。这些构造函数具有相同的名字,
而参数的个数或参数的类型不相同。这称为构造函数的重载。*/
#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=10;
length=10;
}
int Box::volume( ) //定义计算体积的函数
{
return(height*width*length);
}
int main( )
{
Box box1; //建立对象 box1 ,不指定参数
cout<<"The volume of box1 is "<<box1.volume( )<<endl;
Box box2(15,30,25); //建立对象 box2 ,指定三个实参
cout<<"The volume of box2 is "<<box2.volume( )<<endl;
system("pause");
return 0;
}
/*
1、无参的构造函数,称为默认构造函数,一个类只能有一个默认构造函数。如果用户希望在创建对象时就能使数据成员有初始值,
就必须自己定义构造函数;
2、在程序中不能出现调用无参构造函数(如 Box( )),请记住:构造函数是不能被用户显式调用的。*/







