1)首先,不要使用裸體new
,如果沒有必要,請不要使用新的al。因爲它可能導致內存泄漏問題。
2)不要使用setter只是使用構造函數。
3)使用在一個重載Date
構造
4)初始化Date
與initilizer列表const Date &
。使用重載的構造Date
使用const引用到其他Date
5)在主要的C++返回類型建立一個Date
必須int
class Date{
public:
Date(int dd, int mm, int yyyy);
Date(const Date &obj);
private:
int day, month, year;
};
int main(){
Date now = {02,06,2017};
Date today(now);
return 0;
}
6)現在,如果你真的需要一個二傳手功能你可以這樣做:
class Date{
public:
Date(int day, int month, int year); //A
Date(const Date &obj); //B
void setDate(const Date &obj);
private:
int day, month, year;
};
int main(){
Date now = {02,06,2017};
Date today(now);
today.setDate({02,06,2017}); //Setter example using initilizer list + contructor A
today.setDate(now); //Setter example
return 0;
}
傳遞給另一個Date對象。還可以使用'today-> setDate()',並且該參數可能應該更改爲'Date const&'。 – cdhowie
似乎沒有辦法設置日期。界面建議您只能將日期設置爲另一個日期對象,這意味着沒有指定任意日期。 –
您已經創建了一種從另一個「日期」設置「日期」的方法,但無法設置第一個「日期」。您可能需要一個或多個構造函數來從其組件設置'Date',比如'Date(int day,int month,int year)'。 – twain249