C++類的聲明和定義

這裏將採取比較規整的方式來解決這個類的構建問題。

// 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章