标题:有关类类型的问题,很是奇怪啊
只看楼主
张海锋
Rank: 2
等 级:论坛游民
帖 子:52
专家分:37
注 册:2012-12-8
结帖率:55.56%
已结贴  问题点数:20 回复次数:1 
有关类类型的问题,很是奇怪啊
#include<iostream.h>
class clock{
public:
clock(int h,int m,int s)
{
H=h;
M=m;
S=s;
cout<<"constructor"<<H<<":"<<M<<":"<<S<<endl;
}
~clock()
{
cout<<"destructor"<<H<<":"<<M<<":"<<S<<endl;
}
clock(clock &p)
{
H=p.H;
M=p.M;
H=p.S;
}
void showtime()
{
cout<<H<<":"<<M<<":"<<S<<endl;
}
};
clock fun(clock c)
{
return c;
}
int main()
{
clock c1(8,0,0);
clock c2(9,0,0);
clock c3(c2);
fun(c2);
clock c4;这里的定义的对象c4会报错额,但是如果写成clock c4=c2编译器又不会报错啊
c4=c2;
return 0;
}
搜索更多相关主题的帖子: clock include public return 
2013-03-05 20:40
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:20 
因为你有clock(int h,int m,int s) 后,就不会给你提供默认的构造函数了
而clock c4; 需要的就是不带参数的构造函数,如果你要这样定义,那么就的在提供一个不带参数的构造函数了

clock()
 {
 H=0;
 M=0;
 S=0;
 cout<<"constructor"<<H<<":"<<M<<":"<<S<<endl;
 }

还有,

1 没有在你的类中找到H  M 和S成员?是否写漏了
2
clock(clock &p)
 {
 H=p.H;
 M=p.M;
 H=p.S; //  这个你是否想写S = p.S;?
 }



我行我乐
我的博客:
http://blog.yuccn. net
2013-03-05 21:32



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




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

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