これは以前に尋ねられる可能性があることは知っていますが、残念ながらエラーをデバッグできませんでした。
私は時間のクラスを書きました:
class time
{
public:
time(); //constructor
void setTime (int, int, int); //set time
void dispTime(); //print time
private:
int hour, minute, second;
};
次に、関数メンバーを実装します。
#include <iostream>
#include "stdio.h"
#include "time.h"
time :: time()
{
hour = 12;
minute = 0;
second = 0;
}
//**********
void time::setTime(int h, int m, int s)
{
hour = (h >= 0 && h < 12) ? h : 0;
minute = (m >= 0 && m < 60) ? m : 0;
second = (s >= 0 && s < 60) ? s : 0;
}
//**********
void time::dispTime()
{
std::cout << ((hour == 0 || hour == 12) ? 12 : hour % 12)
<< " : " << (minute < 10 ? "0" : "") << minute
<< " : " << (second < 10 ? "0" : "") << second
<< (hour < 12 ? " AM" : " PM");
}
そして最後に、本体のメインは次のとおりです。
#include <iostream>
#include "stdio.h"
#include "time.h"
using namespace std;
//**********
int main()
{
time T;
cout << "The initial standard time is: ";
T.dispTime();
T.setTime(13, 27, 36);
cout << "\nStandard time after set-time is: ";
T.dispTime();
T.setTime(99,83,12); //attemp to have a invalid time
cout << "\nStandard time is invalid and standard time is: ";
T.dispTime();
cin.get();
cin.get();
}
g ++でコンパイルすると:
4-5-class-time.cpp: 関数 'int main()' 内:
4-5-class-time.cpp:8: エラー: 予想される `;' 「T」の前</p>
4-5-class-time.cpp:10: エラー: 'T' はこのスコープで宣言されていません
よろしくお願いします。