问题遇到的现象和发生背景
运行结果及报错内容
没有报错,只是小红的生日无法覆盖掉小明的生日
我的解答思路和尝试过的方法
我想要达到的结果
#include<string>
#include<iostream>
using namespace std;
class Date{
private:
int year;int month;int day;
public:
Date()
{cout<<"调用默认的构造函数。"<<endl;}
Date(int year1,int month1,int day1):year(year1),month(month1),day(day1){}
void setdate(int year1,int month1,int day1)
{
year=year1;
month=month1;
day=day1;
cout<<"year:"<<year<<" month:"<<month<<" day:"<<day<<endl;
}
void getdate()
{
cout<<"year:"<<year<<" month:"<<month<<" day:"<<day<<endl;
}
Date (const Date &a)
{
year=a.year;month=a.month;day=a.day;
}
~Date()
{cout<<"Date类析构函数的调用."<<endl;}
};
class Student{
private:
int num;string name;string sex;Date date;
public:
Student(int num1,string name1,string sex1,int year1,int month1,int day1):num(num1),name(name1),sex(sex1),date(year1,month1,day1){}
void set(int num1,string name1,string sex1,Date date1)
{
num=num1;name=name1;sex=sex1;date=date1;
}
void getstudent()
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
}
Student (const Student &d1)
{
num=d1.num;name=d1.name;sex=d1.sex;date=d1.date;
}
~Student()
{
cout<<"Student析构函数的调用。"<<endl;
}
Date get1()
{return date;}
};
void text01()
{ Student student1(1,"小明","男",2003,4,29);
student1.getstudent();
student1.get1().getdate();
student1.get1().setdate(2003,1,5);
student1.set(2,"小红","女",student1.get1());
student1.getstudent();
student1.get1().getdate();}
int main()
{
text01();
return 0;
}