| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 617 人关注过本帖
标题:[求助]类继承中有关拷贝构造函数的问题
只看楼主 加入收藏
haos
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-6-30
收藏
 问题点数:0 回复次数:1 
[求助]类继承中有关拷贝构造函数的问题

#include <iostream.h>
class Point
{
public:
Point(double x,double y);
Point();
Point(Point&A);
~Point();
void Sets(double x,double y);
void Prints();
private:
double X,Y;
};
Point::Point(double x,double y)
{
X=x;Y=y;
}
Point::Point()
{}
Point::Point(Point&A)
{
X=A.X+1;Y=A.Y+1;
cout<<"拷贝函数调用后坐标("<<X<<","<<Y<<")"<<endl;
}
Point::~Point()
{
cout<<"destructor called "<<X<<" "<<Y<<endl;
}
void Point::Sets(double x,double y)
{
X=x;Y=y;
}
void Point::Prints()
{
cout<<"坐标是 ("<<X<<","<<Y<<")"<<endl;
}

class Line:public Point
{
public:
Line(double x,double y,double s);
Line();
Line(Line&P);
~Line();
void Setl(double x,double y,double s);
void Printl();
private:
double S;
};
Line::Line(double x,double y,double s)
{
Point(x,y);
S=s;
}
Line::Line()
{}
Line::Line(Line &P)
{
Point(&P);S=P.S+1;
cout<<"S="<<S<<endl;
}
Line::~Line()
{
cout<<"destructor called ";
Prints();
cout<<"S="<<S<<endl;
}
void Line::Setl(double x,double y,double s)
{
Sets(x,y);
S=s;
}
void Line::Printl()
{
Prints();
cout<<"斜率是 "<<S<<endl;
}

void main()
{
Point P(3.0,4.0);
Point P1(P);
P.Prints();
P.Sets(5.0,6.0);
P.Prints();
Line L(4.0,5.0,1);
Line L1(L);
L.Printl();
L.Prints();
L.Setl(6.0,7.0,1.2);
L.Printl();
L.Prints();
}

这题在编译的时候,继承类Line的拷贝构造函数有问题

[此贴子已经被作者于2006-6-30 18:37:07编辑过]

搜索更多相关主题的帖子: 函数 构造 拷贝 继承 
2006-06-30 18:10
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
呵呵
路过
Line::Line(Line &P):Point(P.x,p.y)
{
S=P.S+1;
cout<<"S="<<S<<endl;
}
这里貌似应该这样
楼主不对的话,告诉我,我回去看看

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-07-01 11:24
快速回复:[求助]类继承中有关拷贝构造函数的问题
数据加载中...
 
   



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

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