- 论坛徽章:
- 0
|
#include<iostream>
using namespace std;
class Clock //时钟类声明
{
public: //外部接口
Clock(int NewH=0, int NewM=0, int NewS=0);
void ShowTime();
Clock& operator ++(); //前置单目运算符重载
Clock operator ++(int); //后置单目运算符重载
private: //私有数据成员
int Hour,Minute,Second;
};
void Clock::ShowTime()
{
cout<<Hour<<":"<<Minute<<":"<<Second<<endl;
}
Clock& Clock: perator ++() //前置单目运算符重载函数
{ Second++;
if(Second>=60)
{ Second=Second-60;
Minute++;
if(Minute>=60)
{
Minute=Minute-60;
Hour++;
Hour=Hour%24;
}
}
return *this;
}//后置单目运算符重载
Clock Clock: perator ++(int)
{ //注意形参表中的整型参数
Clock old=*this;
++(*this);
return old;
}
//其它成员函数的实现略
void main()
{
Clock myClock(23,59,59);
cout<<"First time output:";
myClock.ShowTime();
cout<<"Show myClock++:";
(myClock++).ShowTime();
cout<<"Show ++myClock:";
(++myClock).ShowTime();
}
出错信息是:1>------ 已启动全部重新生成: 项目: VS2010, 配置: Debug Win32 ------
1>生成启动时间为 2011/3/14 19:17:31。
1>_PrepareForClean:
1> 正在删除文件“Debug\VS2010.lastbuildstate”。
1>InitializeBuildStatus:
1> 正在对“Debug\VS2010.unsuccessfulbuild”执行 Touch 任务。
1>ClCompile:
1> main.cpp
1>main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Clock::Clock(int,int,int)" (??0Clock@@QAE@HHH@Z),该符号在函数 _main 中被引用1>D:\Users\liuhuibin\Documents\visual studio 2010\Projects\VS2010\Debug\VS2010.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>
1>生成失败。
1>
1>已用时间 00:00:00.89
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ========== |
|