参考:面向对象程序设计及C++,P63
共3个文件
// excise_20230808d.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include "li03_08.h"
void Fun(CDate DateVar) //对象作为函数参数
{
DateVar.ModifyDate(2019, 3, 13); //修改
DateVar.Display();
}
int main()
{
CDate DateA;
DateA.Display();
Fun(DateA); //将实参对象单向传值给形参对象,调用复制构造函数
cout << "调用Fun函数之后" << endl;
DateA.Display();
std::cout << "Hello World!\n";
getchar();
}
#pragma once
#include <iostream>
using namespace std;
class CDate
{
private:
int Date_Year;
int Date_Month;
int Date_Day;
public:
CDate(int y = 2000, int m = 1, int d = 1); //带有默认参数的构造函数
void Display();
void ModifyDate(int, int, int); //修改日期
};
#include "li03_08.h"
CDate::CDate(int y, int m, int d) //带有默认参数的构造函数
{
cout << "执行初始化" << endl;
Date_Year = y;
Date_Month = m;
Date_Day = d;
}
void CDate::Display()
{
cout << Date_Year << "-" << Date_Month << "-" << Date_Day << endl;
}
void CDate::ModifyDate(int y, int m, int d)
{
Date_Year = y;
Date_Month = m;
Date_Day = d;
}
运行结果: