●●● ●●●●● 例3: ●●●● ●●● ● class float x,y, 无显式定义 public: 系统生成的隐含 的构造函数A0{}缺省的构造函数 void Print(void) cout<<x<<It'<<y<<endl 缺省构造函数时只 a al. a2 许这样定义对象
例3: class A { float x,y; public: void Print(void) { cout<<x<<'\t'<<y<<endl; } }; 系统生成的隐含 缺省的构造函数 A a1, a2; 缺省构造函数时只 许这样定义对象 A() { } 无显式定义 的构造函数 16
●●● ●●●●● 例4: ●●●● ●●● ● class a 显式定义了1不产生隐含的构 float x,y; 构造函数 造函数AO{} public 含有默认 A(float a-0,oatb=5){x=a;y=b;} 参数值 void Print(void)) i cout<x<"t<xy<endl} void main(void) 调用默认参数 A al; 的构造函数 Aa2(3.0,30.0);调用含参数的 构造函数
例4: class A { float x,y; public: A(float a=0,float b=5) { x=a;y=b; } void Print(void) { cout<<x<<'\t'<<y<<endl;} }; void main(void) { A a1; A a2(3.0,30.0); } 显式定义了 构造函数 调用默认参数 的构造函数 不产生隐含的构 造函数A() { } 含有默认 参数值 调用含参数的 构造函数 17