4任一对象的构造函数必须唯一。如 class ei int public: E(int a, int b)f -a; ba void P (void) cout<<x<<It<<y<<n 若有说明: Ee;/{错误。因产生对象e时,没有合适的 构造函数可供调用,若要这样定义,必须有一个缺 2的构造函数供调用
2021/2/24 11 4.任一对象的构造函数必须唯一。如: class E{ int x,y; public: E(int a,int b){ x=a; y=b; } void P(void){ cout<<x<<‘\t’<<y<<‘\n’; } }; 若有说明: E e; //错误。因产生对象e时,没有合适的 构造函数可供调用,若要这样定义,必须有一个缺 省的构造函数供调用
又如 class Qt int x, y; public Q(int a=0, int b=0)i x-a: y=D; Q({ void P(void) cout<<x<<t 若有说明: Qq: ∥错误。因在编译时,指出两个缺 省的构造函数,在产生对象q时因不知调用哪个而 产生了二义性。 2021/2/24
2021/2/24 12 又如: class Q{ int x,y; public: Q(int a=0,int b=0){ x=a; y=b; } Q(){ } void P(void){ cout<<x<<‘\t’<<y<<‘\n’; } }; 若有说明: Q q; //错误。因在编译时,指出两个缺 省的构造函数,在产生对象q时因不知调用哪个而 产生了二义性