欢迎来到天天文库
浏览记录
ID:38251581
大小:23.23 KB
页数:12页
时间:2019-06-06
《C++基础经典习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4.6什么叫复制构造函数,复制构造函数何时被调用?答:复制构造函数是一种特殊的的构造函数,具有一般构造函数的所有特性。其形参是本类的对象的引用。其作用是使用一个已经存在的对象(由构造函数的参数指定),去初始化同类的一个新对象。程序员可以根据实际问题自己定义,若没有定义复制构造函数,系统则会在必要的时候自动生成一个隐含的复制构造函数,这个隐含的复制构造函数的功能是,把初始值对象的每个数据成员的值复制到新建的对象中。因此,也可说完成了同类对象的复制,这样得到的对象和和原对象具有完全相同的数据成员,即相同的属性
2、。以下三种情况调用复制构造函数:1.当用类的一个对象去初始化该类的另一个对象;2.如果函数的形参是类的对象,调用函数时,进行形参和实参结合时;3.如果函数的返回值是类的对象,函数执行完成返回调用者时;4.9设计并测试一个名为Rectangle的矩形类,其属性为矩形左下角和右上角的两点坐标,根据坐标计算矩形面积。#include#includeusingnamespacestd;classRectangle{public:voidgetarea(constdoublex
3、1,constdoubley1,constdoublex2,constdoubley2);private:intm_x1,m_y1,m_x2,m_y2;};voidRectangle::getarea(constdoublex1,constdoubley1,constdoublex2,constdoubley2){doublesum;sum=fabs(x1-x2)*fabs(y1-y2);cout<<"areais:"<4、doublex1,y1,x2,y2;cout<<"Pleaseentertwocoordinate:";cin>>x1>>y1>>x2>>y2;myrectangle.getarea(x1,y1,x2,y2);return0;}4.10#include#includeusingnamespacestd;classData{public:voidsetdata(intNewy,intNewm,intNewd);Data(){m_year=0;m_mouth=0;m_day5、=0;}Data(intyear,intmonth,intday):m_year(year),m_mouth(month),m_day(day){}voidshowDate(){cout<6、ngsex,stringidcard,Datadata);voidshowperson();~Person(){cout<<"~person"<7、gname,stringsex,stringidcard,Datadata){m_id=id;m_name=name;m_sex=sex;m_idcard=idcard;m_data=data;}inlinevoidPerson::showperson(){cout<8、1","xcyk","man","41209040120",d);s.showperson();return0;}4.12#includeusingnamespacestd;classDatatype{public:Datatype(chara,charb){intsum=(int)a+(int)b;cout<
4、doublex1,y1,x2,y2;cout<<"Pleaseentertwocoordinate:";cin>>x1>>y1>>x2>>y2;myrectangle.getarea(x1,y1,x2,y2);return0;}4.10#include#includeusingnamespacestd;classData{public:voidsetdata(intNewy,intNewm,intNewd);Data(){m_year=0;m_mouth=0;m_day
5、=0;}Data(intyear,intmonth,intday):m_year(year),m_mouth(month),m_day(day){}voidshowDate(){cout<6、ngsex,stringidcard,Datadata);voidshowperson();~Person(){cout<<"~person"<7、gname,stringsex,stringidcard,Datadata){m_id=id;m_name=name;m_sex=sex;m_idcard=idcard;m_data=data;}inlinevoidPerson::showperson(){cout<8、1","xcyk","man","41209040120",d);s.showperson();return0;}4.12#includeusingnamespacestd;classDatatype{public:Datatype(chara,charb){intsum=(int)a+(int)b;cout<
6、ngsex,stringidcard,Datadata);voidshowperson();~Person(){cout<<"~person"<7、gname,stringsex,stringidcard,Datadata){m_id=id;m_name=name;m_sex=sex;m_idcard=idcard;m_data=data;}inlinevoidPerson::showperson(){cout<8、1","xcyk","man","41209040120",d);s.showperson();return0;}4.12#includeusingnamespacestd;classDatatype{public:Datatype(chara,charb){intsum=(int)a+(int)b;cout<
7、gname,stringsex,stringidcard,Datadata){m_id=id;m_name=name;m_sex=sex;m_idcard=idcard;m_data=data;}inlinevoidPerson::showperson(){cout<8、1","xcyk","man","41209040120",d);s.showperson();return0;}4.12#includeusingnamespacestd;classDatatype{public:Datatype(chara,charb){intsum=(int)a+(int)b;cout<
8、1","xcyk","man","41209040120",d);s.showperson();return0;}4.12#includeusingnamespacestd;classDatatype{public:Datatype(chara,charb){intsum=(int)a+(int)b;cout<
此文档下载收益归作者所有