成员函数与构造函数的区别
[size=18px][/size]class point
{public:
void intp1(float xx,float yy){X=xx;Y=yy;};
void intp2(float xx,float yy){M=xx;N=yy;};
void move1(float xoff,float yoff){X+=xoff;Y+=yoff;}
void move2(float xoff,float yoff){X+=xoff;Y+=yoff;}
private:
float X,Y,M,N;
};
class line1:public point
{public:
void intp(float x,float y){intp(x,y);} //成员函数定义
}
class line2:public point
{public:
line2(float x,float y){intp2(x,y);} //构造函数定义
}
void main
{line1 A;
A.intp(10,20);
A.move1(3,2);
line2 B(10,20);
B.move2(3,2);
}
//为什么 返回的X,M的值不一样,Y,N的值不一样啊
[解决办法]
Rectangle(float x,float y){ Point(x,y);//注意此处只是定义一个局部的Point对象 并没有修改this->X和this->Y};//应该改为Rectangle(float x,float y) : Point(x,y){};//或者Rectangle(float x,float y){ this->Point::Point(x,y);}