这里将采取比较规整的方式来解决这个类的构建问题。
// 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