| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 662 人关注过本帖
标题:痛苦死我了,程序编译出现 error link2001 ……
只看楼主 加入收藏
n272367953
Rank: 2
等 级:论坛游民
帖 子:47
专家分:53
注 册:2010-4-14
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:2 
痛苦死我了,程序编译出现 error link2001 ……
这个是程序:#include <iostream>
using namespace std;
class shape
{public:
 virtual float area() const {return 0.0;}
 virtual void shapeName() const=0;
     
};
class Point:public shape
{public:
 Point(float a=0.0,float b=0.0):x(a),y(b){}
 void setPoint(float,float);
 float getX() const {return x;}
 float getY() const {return y;}
 virtual void shapeName() const {cout<<"Point:";}
 friend ostream & operator<<(ostream &,Point &);
 protected:
 float x;
 float y;
};

//Point::Point(float a,float b)
//{x=a;y=b;}



void Point::setPoint(float a,float b)
{x=a;y=b;
}

ostream & operator<<(ostream &output,Point &p)
{output<<"["<<p.getX()<<","<<p.getY()<<"]";
 return output;
}

class Circle:public Point
{public:
 Circle(float x=0,float=0,float r=0):Point(x,y),radius(r){}
 void setRadius(float);
 float getRadius() const;
 virtual void shapeName() const {cout<<"Circle:";}
 //friend Circle operator+(Point &,Circle &);
 friend Circle operator+(Circle &,Circle &);
 friend ostream & operator<<(ostream &,Circle &);
 protected:
 float radius;
};

void Circle::setRadius(float r)
{radius=r;}

float Circle::getRadius() const
{return radius;}

Circle operator+(Circle &c1,Circle &c2)
{Circle c3;
 c3.x=c1.getX()+c2.getX();
 c3.y=c1.getY()+c2.getY();
 c3.radius=c1.getRadius()+c2.getRadius();
 return c3;
}

ostream & operator<<(ostream &output,const Circle &c)
{output<<"["<<c.getX()<<","<<c.getY()<<"],r="<<c.getRadius();
 return output;
}

class Square:public Point
{public:
 Square(float x=0,float y=0,float e=0):Point(x,y),edge(e){}
 void setEdge(float);
 float getEdge() const;
 virtual void shapeName() const {cout<<"Square:";}
 friend ostream & operator<<(ostream &,Square &);
 protected:
    float edge;
};

void Square::setEdge(float e)
{edge=e;}

float Square::getEdge() const
{return edge;}

ostream & operator<<(ostream &output,const Square &s)
{output<<"["<<s.getX()<<","<<s.getY()<<"],e="<<s.getEdge();
 return output;
}












int main()
{Point p1(0.12f,0.13f);
 p1.shapeName();
 cout<<p1<<endl;
 Circle c_1(12.1f,15.3f,13.5f),c_2(20.4f,456.4f,21.32f),c_3;
 c_3=c_1+c_2;
 cout<<c_3<<endl;
 return 0;
  
}
 程序非常简单  只用看Circle类就行                  主函数主要是为了验证程序写的对不对,所以随便写的,   就是重载+之后出现了这个问题
搜索更多相关主题的帖子: 编译 
2010-12-05 17:13
n272367953
Rank: 2
等 级:论坛游民
帖 子:47
专家分:53
注 册:2010-4-14
收藏
得分:0 
哎 …………    不通过啊…………
2010-12-05 17:14
yue0132
Rank: 2
等 级:论坛游民
帖 子:1
专家分:20
注 册:2010-12-7
收藏
得分:20 
有空我也来看看,现在先忙了

沉心百炼,放手一搏
2010-12-07 17:58
快速回复:痛苦死我了,程序编译出现 error link2001 ……
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016090 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved