Write a simple C + + clock class, put into the header file, the main function in the call header file compilation error, the specific code is as follows:
clock.h:
#include <iostream>
using namespace std;
class Clock
{
private:
int h,m,s;
public:
Clock();
~Clock();
void SetTime(int h,int m,int s);
void AddOneS();
void ShowTime();
};
void Clock::SetTime(int h,int m,int s)
{
this->h = h;
this->m = m;
this->s = s;
}
void Clock::ShowTime()
{
cout<<h<<":"<<m<<":"<<s<<endl;
}
Main function:
#include "clock.h" //When calling custom headers, use "" instead of<>
using namespace std;
int main(void)
{
Clock c1,c2;
c1.SetTime(2,45,36);
c2.SetTime(6,40,34);
c1.ShowTime();
c2.ShowTime();
return 0;
}
Error prompt:
Check the error because “reference clock:: clock() and clock:: clock() are not defined”
It turns out that there is no function body for constructors and destructors
(1) : define function body in class: clock () {} ~ clock () {}
(2) : define function body outside class: void clock:: clock() {} void clock:: ~ clock() {}