class point
{
public:
point(int i="0",int j="0"){x=i;y=j;}
int gex(){return x;}
int gey(){return y;}
void reset(int i,int j){x=i;y=j;}
private:
int x,y;
};
class line
{
public:
line(point a1,point a2){A=a1;B=a2;}
operator point()
{return point((A.gex()+B.gex())/2,(A.gex()+B.gex())/2);}
private:
point A,B;
};
void main()
{
point p1(1,2),p2(3,4);
line L1(p1,p2);
point m(L1);
cout<<m.gex()<<m.gey()<<endl;
}
这是今天的一考试题,就是求出两个点的中点,将线类转换为点类。缺少的部分就是函数转换的部分,当时就没想到这部分来。我竞写的这:line(){return point((A.x+B.x)/2,(A.y+B.y)/2)} 怎么也圆不了啊,有返回就要在前面加返回类,而构造函数好像没有加返回类的。另外L1也不是调用的缺省构造函数line(),L1已经初始化过了。真是惭愧。。。
文章评论(0条评论)
登录后参与讨论