#include <iostream>
#include<string.h>
using namespace std;
class CDate
{
private:
int year,month,day;
public :
CDate(int y = 1900,int m=1,int d = 1)
{
year = y; month = m;day = d;
cout<<"1.调用日期类的构造函数"<<endl;
}
CDate(CDate &s)//拷贝构造函数
{
year = s.year;
month = s.month;
day = s.day;
cout<<"2.调用日期类的拷贝构造函数"<<endl;
}
~CDate()
{
cout<<"3.调用日期类的析构函数"<<endl;
}
};
class CStudentID
{
private : int value;
public : CStudentID(int i)
{
value = i;
cout<<"4.构造学号"<<value<<endl;
};
~CStudentID()
{
cout <<"5.析构学号"<<value <<endl;
}
};
class CStudent
{
private :
string name;
char sex;
CStudentID id;
CDate birthday;
public:
CStudent(string,char,int,CDate&);
~CStudent();
};
CStudent::CStudent(string na,char s,int i,CDate &d):id(i),birthday(d)
{
name = na;
sex = s;
cout<<"6.调用学生"<<name <<"的构造函数"<<endl;
}
CStudent::~CStudent()
{
cout<<"7.调用学生"<<name <<"的析构函数"<<endl;
}
int main()
{
CDate day1(1989,3,1);
CStudent stud1("张三",'m',2011102,day1);
return 0;
#include<string.h>
using namespace std;
class CDate
{
private:
int year,month,day;
public :
CDate(int y = 1900,int m=1,int d = 1)
{
year = y; month = m;day = d;
cout<<"1.调用日期类的构造函数"<<endl;
}
CDate(CDate &s)//拷贝构造函数
{
year = s.year;
month = s.month;
day = s.day;
cout<<"2.调用日期类的拷贝构造函数"<<endl;
}
~CDate()
{
cout<<"3.调用日期类的析构函数"<<endl;
}
};
class CStudentID
{
private : int value;
public : CStudentID(int i)
{
value = i;
cout<<"4.构造学号"<<value<<endl;
};
~CStudentID()
{
cout <<"5.析构学号"<<value <<endl;
}
};
class CStudent
{
private :
string name;
char sex;
CStudentID id;
CDate birthday;
public:
CStudent(string,char,int,CDate&);
~CStudent();
};
CStudent::CStudent(string na,char s,int i,CDate &d):id(i),birthday(d)
{
name = na;
sex = s;
cout<<"6.调用学生"<<name <<"的构造函数"<<endl;
}
CStudent::~CStudent()
{
cout<<"7.调用学生"<<name <<"的析构函数"<<endl;
}
int main()
{
CDate day1(1989,3,1);
CStudent stud1("张三",'m',2011102,day1);
return 0;
}
运行结果: