《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社_第1页
《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社_第2页
《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社_第3页
《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社_第4页
《C++面向对象程序设计答案》-第五章--谭浩强-清华大学出版社_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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; day=d; class Professor:public Teacher /教授类 public: Professor(int,char ,char,int,int,int,fl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论