#include <iostream>
using namespace std;
class time
{
public:
time (int,int,int);
int hour;
int minute;
int second;
void gettime();
};
time::time(int h,int m,int s)
{
hour=h;
minute=m;
second=s;
}
void time::gettime()
{
cout<<hour<<":"<<minute<<":"<<second<<endl;
}
int main (void)
{
time t1(21,12,12);
int *p1=&(t1.hour);
cout<<(*p1)<<endl;
t1.gettime();
time *p2=&t1;
p2->gettime();
void (time::*p)();
p=&time::gettime;
(t1.*p)();
return 0;
}
今天敲的这个程序很奇快。这段代码本没有错,在vs下就能正常运行,但在linux下就不行。
后来发现,time这个类名和linux中 的指令“”“time”雷同。后来将time改为TIME就行了。
总结:类名最好不要和指令名相同