构造函数的重载
重载 --- 一词多用
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 }