這裏將採取比較規整的方式來解決這個類的構建問題。
// Date.h
#include <iostream>
using namespace std;
class Date
{
public:
Date(); //這是默認的構造函數
//如果有興趣的話,可以理解下,構造函數自定義的和默認的區別
Date(int y, int m, int d); //自定義構造函數聲明
void Set(int m, int d, int y);
void Print();
private:
int year, month, day;
};
類中的成員函數的定義,可以在類的內部,也可以在類的外部,這是兩種類的成員函數的定義方式。因爲構造函數也是類內成員函數,自然也可以在類外進行定義,以個人經歷建議,大家都在用類外定義的方式,這樣就會顯得層次比較清晰,不會那麼讓一個類很臃腫。
//Date.cpp
#include "Date1.h"
Date::Date(int y, int m, int d)
{
this->year = y; // 類的內部的this是可以不用寫的,如果不明白可以自行詳細瞭解下
month = m;
day = d;
}
void Date::Set(int y, int m, int d)
{
year = y;
month = m;
day = d;
}
void Date::Print()
{
cout << year << "." << month << "." << day << endl;
}
int main()
{
Date today(2017, 7, 10);
today.Print();
Date tomorrow(2017, 7, 11);
tomorrow.Print();
Date *pas = new Date(2019, 5, 22);
pas->Print();
return 0;
}
運行結果
2019/ 5/ 20
2019/ 5/ 21
2019/ 5/ 22