构造函数的重载

//构造函数的重载
#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
*/ 

posted on 2011-06-08 23:11  more think, more gains  阅读(264)  评论(0编辑  收藏  举报

导航