构造函数的重载

    重载 --- 一词多用

 1 //  上一次  是 在构造函数体内 通过赋值语句对数据成员实现初始化 
 2 // C++ 还有 一种 初始化 数据成员的 方法 --参数初始化表  来实现对
 3 // 数据成员的初始化 , 这种方法不在 函数体内 对成员初始化  而是在 函数的首部实现
 4 //例如定义构造函数 可以改用 以下形式  
 5 /* box::box(int h,int w,int len):height(h),width(w),length(len){} */
 6 //   表示 用 形参 h 的值  初始化 height 后面的  花括号 是空的  , 即 函数体是空的 没有任何执行语句   
 7 #include<iostream>
 8 using namespace std;
 9 class box
10 {
11 public:
12     box();   // 声明一个无参的构造函数 box
13     box(int h,int w,int len):height(h),width(w),length(len){}  //声明一个有参的构造函数
14     int volume();   //   声明一个 求体积的 函数
15 private:
16     int height;
17     int width;
18     int length;
19 };
20 box::box()        //   在 类外定义 无参函数 box0
21 {
22     height=10;
23     width=10;
24     length=10;
25 }
26 int box::volume()    //  在类外 定义 成员函数 volume
27 {
28     return(height*width*length);
29 }
30 int main()
31 {
32     box box1;
33     cout<<"the volume of box1 is   "<<box1.volume()<<endl;
34     box box2(10,30,25);   //建立对象   并且 赋初值 
35     cout<<"the volume of box2 is   "<<box2.volume()<<endl;
36     return 0;
37 }

 

posted @ 2016-02-29 17:50  X-POWER  阅读(584)  评论(0编辑  收藏  举报