怎么让重载的“<<”实现动态绑定?

[复制链接]
查看11 | 回复2 | 2008-7-4 20:32:15 | 显示全部楼层 |阅读模式
小的定义了了两个类一个Point、另一个是继承Point 的 Circle类现在可以实现用
class Point{
public:
Point (T a=0,T b=0):x(a),y(b){}
explicit Point (const Point & p):x(p.x),y(p.y){}
T get_x() const{return x;}
T get_y() const{return y;}
void move(T c,T d){x+=c;y+=d;}
friend const Point& operator+(const Point& p1,const Point& p2);
friend ostream& operator (ostream& out,const Point& p);
private:
T x,y;
};
template
class Circle:public Point{
public:
Circle (T a,T c,T d):Point(a,c),r(d){}
explicit Circle (Circle& c):Point(c.get_x() ,c.get_y()),r(c.r){};
T get_r() const{return r;}
T area() const {return (r*r*3.14);}
private:
T r;
};
template
Point& operator+(const Point& p1,const Point& p2){
return Point(p1.x+p2.x,p1.y+p1.y);
}
template
ostream& operator& p){
outc(1.0,5.1,47);
Point p(1.0,2.0);
coutclass Point{ public: Point (T a=0,T b=0):x(a),y(b){} explicit Point (const Point & p):x(p.x),y(p.y){} T get_x() const{return x;} T get_y() const{return y;} void move(T c,T d){x+
回复

使用道具 举报

千问 | 2008-7-4 20:32:15 | 显示全部楼层
- -'不懂1```
回复

使用道具 举报

千问 | 2008-7-4 20:32:15 | 显示全部楼层
动态联编?用虚函数不就完了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行