标题:C++程序题
只看楼主
antirrhinum
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-12-14
 问题点数:0 回复次数:11 
C++程序题
class Sample
{
protected:
int x;
public:
Sample() { x=0; }
Sample(int val) { x=val; }
void operator++() { x++; }
};
class Derived:public Sample
{
int y;
public:
Derived():Sample(){ y=0; }
Derived(int val1,int val2):Sample(val1){ y=val2; }
void operator--(){ x--;y--;}
void disp()
{
cout<<"x="<< x <<" y=" << y << endl; f
}
};
void main ()
{
Derived d(3,5);
d.disp();
d++;
d.disp ();
d--;
d--;
d.disp();
}
请教输出结果!
搜索更多相关主题的帖子: Sample int void disp 
2006-12-14 18:13
pusawl
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-12-14
得分:0 
Derived d(3,5); //类Derived公有派生于Sample,并调用带参数的构造函数初始化其d对象的保护段成员x=3,y=5;其中x
//继承于它的基类Sample。
d.disp(); //输出x=3y=5
d++; //由于只在基类中超载了“++”运算符,所以调用基类的“++”超载函数将x++,y不做任何处理。
d.disp (); //显示结果当然是x=4y=5
d--; //在类Derived中超载了“--”运算符,调用Derived类的“--”超载函数将x、y进行“--”处理
d--; //在类Derived中超载了“--”运算符,调用Derived类的“--”超载函数将x、y进行“--”处理
d.disp(); //输出的结果是x=2y=3

2006-12-14 19:34
antirrhinum
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-12-14
得分:0 
答案!
答案是x=2,y=5,说是只对x有操作啊!
2006-12-14 20:00
pusawl
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-12-14
得分:0 
你的答案错误,我的是正确的,我在VC++6.0中编译运行的结果就是我上面的答案。

2006-12-14 20:20
peswe
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2006-11-22
得分:0 
这个程序我的编译都不能通过
好多警告!!!!
查询错误中!!!!

C斗士~~~fighting!!!!
2006-12-14 22:54
zhubenben
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-3-28
得分:0 

程序错误如下:
void operator++() { x++; }
void operator--(){ x--;y--;}
重载的++, -- 操作符的用法为
++d, --d,
是前缀的++, --
如果要定义后缀的++, --
应该改为
void operator++(int) { x++; }
void operator--(int){ x--;y--;}
前缀++, --为
void operator++() { ++x; }
void operator--(){ --x;--y;}

[此贴子已经被作者于2006-12-15 9:26:04编辑过]

2006-12-15 08:32
pusawl
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-12-14
得分:0 
你的错误在这句,看见没?最后多了个f
还有,在VC++6.0中使用控制台程序去编译
并且要在文件开始使用:#include "iostream.h"

cout<<"x="<< x <<" y=" << y << endl; f

2006-12-15 12:43
caiqiufu
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2006-12-14
得分:0 
x=3 y=5
x=4 y=5
x=2 y= 3
2006-12-17 15:38
wyj444698561
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-11-23
得分:0 
x=3 y=5
x=4 y=5
x=2 y=3
同学是这样的

2006-12-17 17:16
Ling灵仔
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-12-16
得分:0 
没错,是这样,,
x=3 y=5
x=4 y=5
x=2 y=3

编程是种艺术!
2006-12-17 17:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-109520-1-1.html




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

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