一、Timedata
构造一个日期时间类 (Timedate),数据成员包括年、月、日和时、分、秒,函数成员包括设置日期时间、输出时间、构造函数、析构函数复制构造函数,并完成测试,并在主函数中对应的语句中注释调用了哪个函数。
#include<iostream>
using namespace std;
class Timedata{
private:
int nian,yue,ri,hour,min,miao;
public:
void out();
Timedata(int N,int Y,int R,int H,int M,int S);
~Timedata(){
cout<<"析构函数的调用"<<endl;
}
Timedata(Timedata &d){
nian = d.nian;yue = d.yue;ri = d.ri;hour = d.hour;min = d.min;miao = d.miao;
}
};
Timedata::Timedata(int N,int Y,int R,int H,int M,int S){
nian = N;yue = Y;ri = R;hour = H;min = M;miao = S;
}
void Timedata ::out(){
cout<<nian<<"年"<<
yue<<"月"<<
ri<<"日"<<
hour<<"时"<<
min<<"分"<<
miao<<"秒"<<endl;
}
int main(){
Timedata d1(2003,10,23,3,23,2);//调用构造函数初始化
d1.out();//输出日期
Timedata d2 = d1;
d2.out();//输出日期
}
二、Rectangle
设计并测试一个矩形类(Rectangle),属性为矩形的左下角与右上角的坐标,矩形水平放置。操作为计算矩形的周长和面积,、构造函数、析构函数复制构造函数并完成测试,并在主函数中对应的语句中注释调用了哪个函数
#include<iostream>
using namespace std;
class Rectangle{
private:
int left_x,left_y,right_x,right_y;
public:
Rectangle(int x1,int y1,int x2,int y2){
left_x = x1;left_y = y1;right_x = x2;right_y = y2;
cout<<"构造函数的调用"<<endl;
}
~Rectangle(){
cout<<"析构函数调用"<<endl;
}
Rectangle(Rectangle &d){
left_x = d.left_x;left_y = d.left_y;right_x = d.right_x;right_y = d.right_y;
}
void S_L(){
cout<<"面积= "<<(right_x-left_x)*(left_y-right_y)<<endl;
cout<<"周长= "<<2*((right_x-left_x)+(left_y-right_y))<<endl;
}
};
int main(){
Rectangle d1(2,4,5,3);
Rectangle d2 = d1;//复制构造
d2.S_L();
}
三、Person
设计一个学校在册人员类 (Person)。数据成员包括身份证号 (IdPerson)、姓名(Name)、性别(Sex)、生日 (Birthday) 和家庭住址 (HomeAddress)。成员函数包括人员信息的录入和输出,还包括构造函数与复制构造函数。设计一个合适的初始值。并在主函数中对应的语句中注释调用了哪个函数
#include<iostream>
#include<string>
using namespace std;
class Person{
private:
int IdPerson;
string Name,Sex,Birthday,HomeAddress;
public:
void set_xinxi(){
cout<<"请输入身份证号"<<endl;
cin>>IdPerson;
cout<<"请输入姓名"<<endl;
cin>>Name;
cout<<"请输入性别"<<endl;
cin>>Sex;
cout<<"请输入生日"<<endl;
cin>>Birthday;
cout<<"请输入家庭住址"<<endl;
cin>>HomeAddress;
}
void out_xinxi(){
cout<<"身份证号:"<<IdPerson<<endl;
cout<<"姓名:"<<Name<<endl;
cout<<"性别:"<<Sex<<endl;
cout<<"生日:"<<Birthday<<endl;
cout<<"家庭住址:"<<HomeAddress<<endl;
}
Person(){
cout<<"默认构造函数"<<endl;
}
Person(int I,string N,string S,string B,string H){
IdPerson = I;Name = N;Sex = S;Birthday = B;HomeAddress = H;
cout<<"构造函数的调用"<<endl;
}
Person(Person &d){
IdPerson = d.IdPerson;Name = d.Name;Sex = d.Sex;Birthday = d.Birthday;HomeAddress = d.HomeAddress;
}
};
int main(){
Person p1(12345,"某某","男","十月一日","太原市小店区");
p1.out_xinxi();
Person p2 = p1;//拷贝构造
p2.out_xinxi();
Person p;
p.set_xinxi();
p.out_xinxi();
}