《C++面向对象程序设计答案》第五章谭浩强清华大学出版社之欧阳引擎创编.docx

上传人:b****2 文档编号:24186799 上传时间:2023-05-25 格式:DOCX 页数:19 大小:16.34KB
下载 相关 举报
《C++面向对象程序设计答案》第五章谭浩强清华大学出版社之欧阳引擎创编.docx_第1页
第1页 / 共19页
《C++面向对象程序设计答案》第五章谭浩强清华大学出版社之欧阳引擎创编.docx_第2页
第2页 / 共19页
《C++面向对象程序设计答案》第五章谭浩强清华大学出版社之欧阳引擎创编.docx_第3页
第3页 / 共19页
《C++面向对象程序设计答案》第五章谭浩强清华大学出版社之欧阳引擎创编.docx_第4页
第4页 / 共19页
《C++面向对象程序设计答案》第五章谭浩强清华大学出版社之欧阳引擎创编.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

《C++面向对象程序设计答案》第五章谭浩强清华大学出版社之欧阳引擎创编.docx

《《C++面向对象程序设计答案》第五章谭浩强清华大学出版社之欧阳引擎创编.docx》由会员分享,可在线阅读,更多相关《《C++面向对象程序设计答案》第五章谭浩强清华大学出版社之欧阳引擎创编.docx(19页珍藏版)》请在冰豆网上搜索。

《C++面向对象程序设计答案》第五章谭浩强清华大学出版社之欧阳引擎创编.docx

《C++面向对象程序设计答案》第五章谭浩强清华大学出版社之欧阳引擎创编

1:

欧阳引擎(2021.01.01)

#include

usingnamespacestd;

classStudent

{public:

voidget_value()

{cin>>num>>name>>sex;}

voiddisplay()

{cout<<"num:

"<

cout<<"name:

"<

cout<<"sex:

"<

private:

intnum;

charname[10];

charsex;

};

classStudent1:

publicStudent

{public:

voidget_value_1()

{get_value();

cin>>age>>addr;}

voiddisplay_1()

{cout<<"age:

"<

cout<<"address:

"<

private:

intage;

charaddr[30];

};

intmain()

{Student1stud1;

stud1.get_value_1();

stud1.display();

stud1.display_1();

return0;

}

2:

#include

usingnamespacestd;

classStudent

{public:

voidget_value()

{cin>>num>>name>>sex;}

voiddisplay()

{cout<<"num:

"<

cout<<"name:

"<

cout<<"sex:

"<

private:

intnum;

charname[10];

charsex;

};

classStudent1:

privateStudent

{public:

voidget_value_1()

{get_value();

cin>>age>>addr;}

voiddisplay_1()

{display();

cout<<"age:

"<

cout<<"address:

"<

private:

intage;

charaddr[30];

};

intmain()

{Student1stud1;

stud1.get_value_1();

stud1.display_1();

return0;

}

3:

#include

usingnamespacestd;

classStudent//声明基类

{public:

//基类公用成员

voidget_value();

voiddisplay();

protected:

//基类保护成员

intnum;

charname[10];

charsex;

};

voidStudent:

:

get_value()

{cin>>num>>name>>sex;}

voidStudent:

:

display()

{cout<<"num:

"<

cout<<"name:

"<

cout<<"sex:

"<

}

classStudent1:

protectedStudent//声明一个保护派生类

{public:

voidget_value_1();

voiddisplay1();

private:

intage;

charaddr[30];

};

voidStudent1:

:

get_value_1()

{get_value();

cin>>age>>addr;

}

voidStudent1:

:

display1()

{cout<<"num:

"<

cout<<"name:

"<

cout<<"sex:

"<

cout<<"age:

"<

cout<<"address:

"<

}

intmain()

{Student1stud1;//stud1是派生类student1类的对象

stud1.get_value_1();//调用派生类对象stud1的公用成员函数

stud1.display1();//调用派生类对象stud1的公用成员函数

return0;

}

4:

解法一

#include

usingnamespacestd;

classStudent//声明基类

{public:

//基类公用成员

voidget_value();

voiddisplay();

protected:

//基类保护成员

intnum;

charname[10];

charsex;

};

voidStudent:

:

get_value()

{cin>>num>>name>>sex;}

voidStudent:

:

display()

{cout<<"num:

"<

cout<<"name:

"<

cout<<"sex:

"<

}

classStudent1:

publicStudent//声明一个公用派生类

{public:

voidget_value_1();

voiddisplay1();

private:

intage;

charaddr[30];

};

voidStudent1:

:

get_value_1()

{get_value();

cin>>age>>addr;

}

voidStudent1:

:

display1()

{cout<<"num:

"<

cout<<"name:

"<

cout<<"sex:

"<

cout<<"age:

"<

cout<<"address:

"<

}

intmain()

{Student1stud1;//stud1是派生类student1类的对象

stud1.get_value_1();//调用派生类对象stud1的公用成员函数get_value_1

stud1.display1();//调用派生类对象stud1的公用成员函数display1

return0;

}

解法二

#include

usingnamespacestd;

classStudent//声明基类

{public:

//基类公用成员

voidget_value();

voiddisplay();

protected:

//基类保护成员

intnum;

charname[10];

charsex;

};

voidStudent:

:

get_value()

{cin>>num>>name>>sex;}

voidStudent:

:

display()

{cout<<"num:

"<

cout<<"name:

"<

cout<<"sex:

"<

}

classStudent1:

protectedStudent//声明一个公用派生类

{public:

voidget_value_1();

voiddisplay1();

private:

intage;

charaddr[30];

};

voidStudent1:

:

get_value_1()

{cin>>age>>addr;}

voidStudent1:

:

display1()

{cout<<"age:

"<

cout<<"address:

"<

}

intmain()

{Student1stud1;//stud1是派生类student1类的对象

stud1.get_value();

stud1.get_value_1();

stud1.display();

stud1.display1();//合法。

display1是派生类中的公用成员函数

return0;

}

5:

classA//A为基类

{public:

voidf1();

inti;

protected:

voidf2();

intj;

private:

intk;

};

classB:

publicA//B为A的公用派生类

{public:

voidf3();

protected:

intm;

private:

intn;

};

classC:

publicB//C为B的公用派生类

{public:

voidf4();

private:

intp;

};

intmain()

{Aa1;//a1是基类A的对象

Bb1;//b1是派生类B的对象

Cc1;//c1是派生类C的对象

return0;

}

6:

#include

usingnamespacestd;

classA

{public:

voidf1();

protected:

voidf2();

private:

inti;

};

classB:

publicA

{public:

voidf3();

intk;

private:

intm;

};

classC:

protectedB

{public:

voidf4();

protected:

intn;

private:

intp;

};

classD:

privateC

{public:

voidf5();

protected:

intq;

private:

intr;

};

intmain()

{Aa1;

Bb1;

Cc1;

Dd1;

return0;

}

7:

#include

usingnamespacestd;

classA

{

public:

A(){a=0;b=0;}

A(inti){a=i;b=0;}

A(inti,intj){a=i;b=j;}

voiddisplay(){cout<<"a="<

private:

inta;

intb;

};

classB:

publicA

{

public:

B(){c=0;}

B(inti):

A(i){c=0;}

B(inti,intj):

A(i,j){c=0;}

B(inti,intj,intk):

A(i,j){c=k;}

voiddisplay1()

{display();

cout<<"c="<

}

private:

intc;

};

intmain()

{Bb1;

Bb2

(1);

Bb3(1,3);

Bb4(1,3,5);

b1.display1();

b2.display1();

b3.display1();

b4.display1();

return0;

}

8:

#include

usingnamespacestd;

classA

{

public:

A(){cout<<"constructingA"<

~A(){cout<<"destructingA"<

};

classB:

publicA

{

public:

B(){cout<<"constructingB"<

~B(){cout<<"destructingB"<

};

classC:

publicB

{

public:

C(){cout<<"constructingC"<

~C(){cout<<"destructingC"<

};

intmain()

{Cc1;

return0;

}

9:

#include

#include

usingnamespacestd;

classTeacher

{public:

Teacher(stringnam,inta,chars,stringtit,stringad,stringt);

voiddisplay();

protected:

stringname;

intage;

charsex;

stringtitle;

stringaddr;

stringtel;

};

Teacher:

:

Teacher(stringnam,inta,chars,stringtit,stringad,stringt):

name(nam),age(a),sex(s),title(tit),addr(ad),tel(t){}

voidTeacher:

:

display()

{cout<<"name:

"<

cout<<"age"<

cout<<"sex:

"<

cout<<"title:

"<

cout<<"address:

"<

cout<<"tel:

"<

}

classCadre

{public:

Cadre(stringnam,inta,chars,stringp,stringad,stringt);

voiddisplay();

protected:

stringname;

intage;

charsex;

stringpost;

stringaddr;

stringtel;

};

Cadre:

:

Cadre(stringnam,inta,chars,stringp,stringad,stringt):

name(nam),age(a),sex(s),post(p),addr(ad),tel(t){}

voidCadre:

:

display()

{cout<<"name:

"<

cout<<"age:

"<

cout<<"sex:

"<

cout<<"post:

"<

cout<<"address:

"<

cout<<"tel:

"<

}

classTeacher_Cadre:

publicTeacher,publicCadre

{public:

Teacher_Cadre(stringnam,inta,chars,stringtit,stringp,stringad,stringt,floatw);

voidshow();

private:

floatwage;

};

Teacher_Cadre:

:

Teacher_Cadre(stringnam,inta,chars,stringt,stringp,stringad,stringtel,floatw):

Teacher(nam,a,s,t,ad,tel),Cadre(nam,a,s,p,ad,tel),wage(w){}

voidTeacher_Cadre:

:

show()

{Teacher:

:

display();

cout<<"post:

"<

:

post<

cout<<"wages:

"<

}

intmain()

{Teacher_Cadrete_ca("Wang-li",50,'f',"prof.","president","135BeijingRoad,Shanghai","(021)61234567",1534.5);

te_ca.show();

return0;

}

10:

#include

#include

usingnamespacestd;

classTeacher//教师类

{public:

Teacher(int,char[],char);//声明构造函数

voiddisplay();//声明输出函数

private:

intnum;

charname[20];

charsex;

};

Teacher:

:

Teacher(intn,charnam[],chars)//定义构造函数

{num=n;

strcpy(name,nam);

sex=s;

}

voidTeacher:

:

display()//定义输出函数

{cout<<"num:

"<

cout<<"name:

"<

cout<<"sex:

"<

}

classBirthDate//生日类

{public:

BirthDate(int,int,int);//声明构造函数

voiddisplay();//声明输出函数

voidchange(int,int,int);//声明修改函数

private:

intyear;

intmonth;

intday;

};

BirthDate:

:

BirthDate(inty,intm,intd)//定义构造函数

{year=y;

month=m;

day=d;

}

voidBirthDate:

:

display()//定义输出函数

{cout<<"birthday:

"<

voidBirthDate:

:

change(inty,intm,intd)//定义修改函数

{year=y;

month=m;

day=d;

}

classProfessor:

publicTeacher//教授类

{public:

Professor(int,char[],char,int,int,int,float);//声明构造函数

voiddisplay();//声明输出函数

voidchange(int,int,int);//声明修改函数

private:

floatarea;

BirthDatebirthday;//定义BirthDate类的对象作为数据成员

};

Professor:

:

Professor(intn,charnam[20],chars,inty,intm,intd,floata):

Teacher(n,nam,s),birthday(y,m,d),area(a){}//定义构造函数

voidProfessor:

:

display()//定义输出函数

{Teacher:

:

display();

birthday.display();

cout<<"area:

"<

}

voidProfessor:

:

change(inty,intm,intd)//定义修改函数

{birthday.change(y,m,d);

}

intmain()

{Professorprof1(3012,"Zhang",'f',1949,10,1,125.4);//定义Professor对象prof1

cout<

"<

prof1.display();//调用prof1对象的display函数

cout<

"<

prof1.change(1950,6,1);//调用prof1对象的change函数

prof1.display();//调用prof1对象的display函数

return0;

}

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1