Time.h
#ifndef TIME_H#define TIME_H
class Time
{public:Time();void setTime(int,int,int);
void printUniversal();
void printStandard();
private:int hour;int minute;int second;};
#endif
Time.cpp
#include<iostream>using std::cout;
#include<iomanip>using std::setfill;using std::setw;
#include "Time.h"
Time::Time(){hour=minute=second=0;}
void Time::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;}
void Time::printUniversal(){cout<<setfill('0')<<setw(2)<<hour<<":"<<setw(2)<<minute<<":"<<setw(2)<<second;}
void Time::printStandard(){cout<<((hour==0||hour==12)?12:hour%12)<<":"<<setfill('0')<<setw(2)<<minute<<":"<<setw(2)<<second<<(hour<12?"AM":"PM");}
main.cpp
#include<iostream>using std::cout;using std::endl;
#include"Time.h"
int main(){Time t;cout<<"The initial universal time is ";t.printUniversal();cout<<"\nThe initial standard time is ";t.printStandard();
t.setTime(13,27,3);
cout<<"\n\nUniversal time after settime is ";t.printUniversal();cout<<"\nStandard time after settime is ";t.printStandard();cout<<endl;return 0;}
Time.h我是放在头文件里面的,Time.cpp main.cpp我是放在源文件里面,为什么会出现错误
1>main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Time::Time(void)" (??0Time@@QAE@XZ),该符号在函数 _main 中被引用1>main.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Time::setTime(int,int,int)" (?setTime@Time@@QAEXHHH@Z),该符号在函数 _main 中被引用1>main.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Time::printUniversal(void)" (?printUniversal@Time@@QAEXXZ),该符号在函数 _main 中被引用1>main.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Time::printStandard(void)" (?printStandard@Time@@QAEXXZ),该符号在函数 _main 中被引用1>G:\vs2010\Time类实例\Debug\Time类实例.exe : fatal error LNK1120: 4 个无法解析的外部命令
#ifndef TIME_H#define TIME_H
class Time
{public:Time();void setTime(int,int,int);
void printUniversal();
void printStandard();
private:int hour;int minute;int second;};
#endif
Time.cpp
#include<iostream>using std::cout;
#include<iomanip>using std::setfill;using std::setw;
#include "Time.h"
Time::Time(){hour=minute=second=0;}
void Time::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;}
void Time::printUniversal(){cout<<setfill('0')<<setw(2)<<hour<<":"<<setw(2)<<minute<<":"<<setw(2)<<second;}
void Time::printStandard(){cout<<((hour==0||hour==12)?12:hour%12)<<":"<<setfill('0')<<setw(2)<<minute<<":"<<setw(2)<<second<<(hour<12?"AM":"PM");}
main.cpp
#include<iostream>using std::cout;using std::endl;
#include"Time.h"
int main(){Time t;cout<<"The initial universal time is ";t.printUniversal();cout<<"\nThe initial standard time is ";t.printStandard();
t.setTime(13,27,3);
cout<<"\n\nUniversal time after settime is ";t.printUniversal();cout<<"\nStandard time after settime is ";t.printStandard();cout<<endl;return 0;}
Time.h我是放在头文件里面的,Time.cpp main.cpp我是放在源文件里面,为什么会出现错误
1>main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Time::Time(void)" (??0Time@@QAE@XZ),该符号在函数 _main 中被引用1>main.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Time::setTime(int,int,int)" (?setTime@Time@@QAEXHHH@Z),该符号在函数 _main 中被引用1>main.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Time::printUniversal(void)" (?printUniversal@Time@@QAEXXZ),该符号在函数 _main 中被引用1>main.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Time::printStandard(void)" (?printStandard@Time@@QAEXXZ),该符号在函数 _main 中被引用1>G:\vs2010\Time类实例\Debug\Time类实例.exe : fatal error LNK1120: 4 个无法解析的外部命令