日本哪里有热水袋:C++类 求助!!
来源:百度文库 编辑:神马品牌网 时间:2024/08/28 00:38:30
一个类的例子,我在vc里先新建了一个包含类的头文件time2.h
#ifndef time2_h
#define time2_h
class times
{
public:
times();
void settime(int,int,int);
void printmilitary();
void printstantard();
private:
int hour;
int minute;
int second;
};
#endif
然后建了一个包含类成员函数的源文件time2.cpp
#include<iostream.h>
#include"time2.h"
times::times()
{
hour=minute=second=0;
}
void times::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 times::printmilitary()
{
cout<<(hour<10?"0":"")<<hour<<":"
<<(minute<10?"0":"")<<minute;
}
void times::printstantard()
{
cout<<((hour==0||hour==12)?12:(hour%12))<<":"
<<(minute<10?"0":"")<<minute<<":"
<<(second<10?"0":"")<<second
<<(hour<12?"AM":"PM");
}
然后建了个包括 main函数的源文件
#include<iostream.h>
#include"time2.h"
int main()
{
times t;
cout<<"\n\n初始化的malitary时间为:";
t.printmilitary();
cout<<"\n\n初始化的stantard时间为:";
t.printstantard();
t.settime(0,19,22);
cout<<"\n\n初始化的malitary时间为:";
t.printmilitary();
cout<<"\n\n初始化的stantard时间为:";
t.printstantard();
cout<<endl;
return 0;
}
可以编译成功,而且成功运行!!
但是我关掉vc再打开的时候却说我 函数 unresolved external symbol
为什么阿?
是不是编译前 还要打开什么东西??
代码就是格式化 显示 时钟,很简单,但是为什么关掉再开就不行呢???
谢谢
#ifndef time2_h
#define time2_h
class times
{
public:
times();
void settime(int,int,int);
void printmilitary();
void printstantard();
private:
int hour;
int minute;
int second;
};
#endif
然后建了一个包含类成员函数的源文件time2.cpp
#include<iostream.h>
#include"time2.h"
times::times()
{
hour=minute=second=0;
}
void times::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 times::printmilitary()
{
cout<<(hour<10?"0":"")<<hour<<":"
<<(minute<10?"0":"")<<minute;
}
void times::printstantard()
{
cout<<((hour==0||hour==12)?12:(hour%12))<<":"
<<(minute<10?"0":"")<<minute<<":"
<<(second<10?"0":"")<<second
<<(hour<12?"AM":"PM");
}
然后建了个包括 main函数的源文件
#include<iostream.h>
#include"time2.h"
int main()
{
times t;
cout<<"\n\n初始化的malitary时间为:";
t.printmilitary();
cout<<"\n\n初始化的stantard时间为:";
t.printstantard();
t.settime(0,19,22);
cout<<"\n\n初始化的malitary时间为:";
t.printmilitary();
cout<<"\n\n初始化的stantard时间为:";
t.printstantard();
cout<<endl;
return 0;
}
可以编译成功,而且成功运行!!
但是我关掉vc再打开的时候却说我 函数 unresolved external symbol
为什么阿?
是不是编译前 还要打开什么东西??
代码就是格式化 显示 时钟,很简单,但是为什么关掉再开就不行呢???
谢谢
是不是没把源文件都添加到工程中啊?
不要用#include<iostream.h>
用#include<iostream> using namespace std;
不知道是不是这个原因?