错误在哪?

anxing 2002-10-16 05:20:20
VC中提示::
\c++\返回private的引用\time4.cpp(5) : error C2143: syntax error : missing ';' before ':'
谁帮我找出来。
以下是头文件,也就是time4.h
class Time1{
public:
Time1(int=0,int =0,int=0);
void setTime(int,int,int);
int getHour();
int &badSetHour(int);
private:
int hour;
int minute;
int second;
};
以下是time4.cpp文件
#include"time4.h"
#include<iostream.h>


Time1:Time1(int hr,int min,int sec)
{setTime(hr,min,sec);}

void Time1:setTime(int h,int m,int s)
{
hour=(h>=0&&h<24) ? h:0;
minute=(m>=0&&m<60) ? m:0;
second=(s>=0&&s<60) ? s:0;
}

int Time1::getHour(){return hour;}

int &Time1:badSetHour(int hh)
{
hour=(hh>=0&&h<24)?hh:0;
return hour;
}
int main()
{
Time1 t;
int &hourRef=t.badSetHour(20);
cout<<"Hour before modification:"<<hourRef;
hourRef=30;
cout<<'\nHour after modefication:"<<t.getHour();
return 0;
}
...全文
31 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
anxing 2002-10-16
  • 打赏
  • 举报
回复
呵,谢了,哈,好久没有用C++了,最近一直在搞API,呵,这简单的都打错了。不好意思。麻烦大家。
好了,结了。
vanhui 2002-10-16
  • 打赏
  • 举报
回复
好多小节错误,应该是::,不是:吧。再去查查书吧。我只是用TC++调了一下,应该没其他问题了。呵呵!懒得用VC啦,在另外一个系统里的。
class Time1{
public:
Time1(int hr=0,int min=0,int sec=0);
void setTime(int,int,int);
int getHour();
int &badSetHour(int);
private:
int hour;
int minute;
int second;
};

#include<iostream.h>


Time1::Time1(int hr,int min,int sec)
{setTime(hr,min,sec);}

void Time1::setTime(int h,int m,int s)
{
hour=(h>=0&&h<24) ? h:0;
minute=(m>=0&&m<60) ? m:0;
second=(s>=0&&s<60) ? s:0;
}

int Time1::getHour(){return hour;}

int &Time1::badSetHour(int hh)
{
hour=(hh>=0&&hh<24)?hh:0;
return hour;
}
int main()
{
Time1 t;
int &hourRef=t.badSetHour(20);
cout<<"Hour before modification:"<<hourRef;
hourRef=30;
cout<<"Hour after modefication:"<<t.getHour();
return 0;
}
blue_coco 2002-10-16
  • 打赏
  • 举报
回复
void Time1:setTime(int h,int m,int s)
int &Time1:badSetHour(int hh)
定义错误 '::'
改:
void Time1::setTime(int h,int m,int s)
int &Time1::badSetHour(int hh)
liubear 2002-10-16
  • 打赏
  • 举报
回复
Time1:Time1(int hr,int min,int sec)
少一个:
应为
Time1::Time1(int hr,int min,int sec)
finix 2002-10-16
  • 打赏
  • 举报
回复
Time1:Time1(int hr,int min,int sec) change to
Time1::Time1(int hr,int min,int sec)
wqy1978 2002-10-16
  • 打赏
  • 举报
回复
有3个函数中应该是类域符号::的写成:啦
finix 2002-10-16
  • 打赏
  • 举报
回复
sorry !
i'm wrong!
finix 2002-10-16
  • 打赏
  • 举报
回复
Time1 t;
default construct is no found

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧