《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社.docx

上传人:rrsccc 文档编号:9586080 上传时间:2021-03-09 格式:DOCX 页数:14 大小:51.80KB
返回 下载 相关 举报
《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社.docx_第1页
第1页 / 共14页
《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社.docx_第2页
第2页 / 共14页
《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社.docx_第3页
第3页 / 共14页
《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社.docx_第4页
第4页 / 共14页
《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社.docx》由会员分享,可在线阅读,更多相关《《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社.docx(14页珍藏版)》请在三一文库上搜索。

1、1:#include using namespace std;class Studentpublic: void get_value() cinnumnamesex; void display( ) coutnum: numendl; coutname: nameendl; coutsex: sexageaddr; void display_1() coutage: ageendl; /引用派生类的私有成员,正确。 coutaddress: addrendl; /引用派生类的私有成员,正确。 private: int age; char addr30; ; int main() Student

2、1 stud1; stud1.get_value_1(); stud1.display(); stud1.display_1(); return 0;2:#include using namespace std;class Studentpublic: void get_value() cinnumnamesex; void display( ) coutnum: numendl; coutname: nameendl; coutsex: sexageaddr; void display_1() display(); coutage: ageendl; /引用派生类的私有成员,正确。 cout

3、address: addrendl; /引用派生类的私有成员,正确。 private: int age; char addr30; ; int main() Student1 stud1; stud1.get_value_1(); stud1.display_1(); return 0;3:#include using namespace std;class Student /声明基类public: /基类公用成员 void get_value(); void display( ); protected : /基类保护成员 int num; char name10; char sex;void

4、 Student:get_value() cinnumnamesex;void Student:display( ) coutnum: numendl; coutname: nameendl; coutsex: sexageaddr; void Student1:display1( ) coutnum: numendl; /引用基类的保护成员 coutname: nameendl; /引用基类的保护成员 coutsex: sexendl; /引用基类的保护成员 coutage: ageendl; /引用派生类的私有成员 coutaddress: addrendl; /引用派生类的私有成员 in

5、t main( ) Student1 stud1; /stud1是派生类student1类的对象 stud1.get_value_1(); /调用派生类对象stud1的公用成员函数 stud1.display1( ); /调用派生类对象stud1的公用成员函数 return 0; 4: 解法一#include using namespace std;class Student /声明基类public: /基类公用成员 void get_value(); void display( ); protected : /基类保护成员 int num; char name10; char sex;voi

6、d Student:get_value() cinnumnamesex;void Student:display( ) coutnum: numendl; coutname: nameendl; coutsex: sexageaddr; void Student1:display1( ) coutnum: numendl; /引用基类的保护成员,合法 coutname: nameendl; /引用基类的保护成员,合法 coutsex: sexendl; /引用基类的保护成员,合法 coutage: ageendl; /引用派生类的私有成员,合法 coutaddress: addrendl; /

7、引用派生类的私有成员,合法 int main( ) Student1 stud1; /stud1是派生类student1类的对象 stud1.get_value_1(); /调用派生类对象stud1的公用成员函数get_value_1 stud1.display1( ); /调用派生类对象stud1的公用成员函数display1 return 0; 解法二#include using namespace std;class Student /声明基类public: /基类公用成员 void get_value(); void display( ); protected : /基类保护成员 in

8、t num; char name10; char sex;void Student:get_value() cinnumnamesex;void Student:display( ) coutnum: numendl; coutname:nameendl; coutsex:sexageaddr; void Student1:display1( ) coutage:ageendl; coutaddress:addrendl; int main( ) Student1 stud1; /stud1是派生类student1类的对象 stud1.get_value(); stud1.get_value_

9、1(); stud1.display( ); stud1.display1(); /合法。display1是派生类中的公用成员函数 return 0; 5:class A /A为基类public: void f1( ); int i; protected: void f2(); int j; private: int k;class B: public A /B为A的公用派生类public: void f3( ); protected: int m; private: int n;class C: public B /C为B的公用派生类public: void f4(); private: i

10、nt p;int main()A a1; /a1是基类A的对象 B b1; /b1是派生类B的对象 C c1; /c1是派生类C的对象 return 0;6:#include using namespace std;class Apublic: void f1( ); protected: void f2(); private: int i;class B: public Apublic: void f3( ); int k; private: int m;class C: protected Bpublic: void f4(); protected: int n; private: int

11、 p;class D: private Cpublic: void f5(); protected: int q; private: int r;int main()A a1; B b1; C c1; D d1; return 0;7:#include using namespace std;class A public: A()a=0;b=0; A(int i)a=i;b=0; A(int i,int j)a=i;b=j; void display()couta=a b=b; private: int a; int b; ;class B : public A public: B()c=0;

12、 B(int i):A(i)c=0; B(int i,int j):A(i,j)c=0; B(int i,int j,int k):A(i,j)c=k; void display1() display(); cout c=cendl; private: int c;int main() B b1; B b2(1); B b3(1,3); B b4(1,3,5); b1.display1(); b2.display1(); b3.display1(); b4.display1();return 0;8:#include using namespace std;class A public: A(

13、)coutconstructing A endl; A()coutdestructing A endl; ;class B : public A public: B()coutconstructing B endl; B()coutdestructing B endl;class C : public B public: C()coutconstructing C endl; C()coutdestructing C endl;int main() C c1; return 0;9:#include#include using namespace std;class Teacher publi

14、c: Teacher(string nam,int a,char s,string tit,string ad,string t); void display(); protected: string name; int age; char sex; string title; string addr; string tel;Teacher:Teacher(string nam,int a,char s,string tit,string ad,string t): name(nam),age(a),sex(s),title(tit),addr(ad),tel(t) void Teacher:

15、display() coutname:nameendl; coutageageendl; coutsex:sexendl; couttitle:titleendl; coutaddress:addrendl; couttel:telendl; class Cadre public: Cadre(string nam,int a,char s,string p,string ad,string t); void display(); protected: string name; int age; char sex; string post; string addr; string tel; ;

16、 Cadre:Cadre(string nam,int a,char s,string p,string ad,string t): name(nam),age(a),sex(s),post(p),addr(ad),tel(t) void Cadre:display() coutname:nameendl; coutage:ageendl; coutsex:sexendl; coutpost:postendl; coutaddress:addrendl; couttel:telendl; class Teacher_Cadre:public Teacher,public Cadre publi

17、c: Teacher_Cadre(string nam,int a,char s,string tit,string p,string ad,string t,float w); void show( ); private: float wage; ; Teacher_Cadre:Teacher_Cadre(string nam,int a,char s,string t,string p,string ad,string tel,float w): Teacher(nam,a,s,t,ad,tel),Cadre(nam,a,s,p,ad,tel),wage(w) void Teacher_C

18、adre:show( ) Teacher:display(); coutpost:Cadre:postendl; coutwages:wageendl; int main( ) Teacher_Cadre te_ca(Wang-li,50,f,prof.,president,135 Beijing Road,Shanghai,(021)61234567,1534.5); te_ca.show( ); return 0;10:#include #include using namespace std;class Teacher /教师类 public: Teacher(int,char ,cha

19、r); /声明构造函数 void display(); /声明输出函数 private: int num; char name20; char sex; ;Teacher:Teacher(int n,char nam,char s) /定义构造函数 num=n; strcpy(name,nam); sex=s;void Teacher:display() /定义输出函数 coutnum:numendl; coutname:nameendl; coutsex:sexendl;class BirthDate /生日类 public: BirthDate(int,int,int); /声明构造函数

20、void display(); /声明输出函数 void change(int,int,int); /声明修改函数 private: int year; int month; int day;BirthDate:BirthDate(int y,int m,int d) /定义构造函数 year=y; month=m; day=d; void BirthDate:display() /定义输出函数 coutbirthday:month/day/yearendl;void BirthDate:change(int y,int m,int d) /定义修改函数 year=y; month=m; da

21、y=d; class Professor:public Teacher /教授类 public: Professor(int,char ,char,int,int,int,float); /声明构造函数 void display(); /声明输出函数 void change(int,int,int); /声明修改函数 private: float area; BirthDate birthday; /定义BirthDate类的对象作为数据成员 ;Professor:Professor(int n,char nam20,char s,int y,int m,int d,float a): Tea

22、cher(n,nam,s),birthday(y,m,d),area(a) /定义构造函数void Professor:display() /定义输出函数Teacher:display(); birthday.display(); coutarea:areaendl;void Professor:change(int y,int m,int d) /定义修改函数 birthday.change(y,m,d); int main()Professor prof1(3012,Zhang,f,1949,10,1,125.4); /定义Professor对象prof1 coutendloriginal data:endl; prof1.display(); /调用prof1对象的display函数 coutendlnew data:endl; prof1.change(1950,6,1); /调用prof1对象的change函数 prof1.display(); /调用prof1对象的display函数 return 0; (注:可编辑下载,若有不当之处,请指正,谢谢!)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1