《面向对象程序设计》编程题复习及其标准答案Word文档下载推荐.docx

上传人:b****6 文档编号:16285242 上传时间:2022-11-22 格式:DOCX 页数:37 大小:31.33KB
下载 相关 举报
《面向对象程序设计》编程题复习及其标准答案Word文档下载推荐.docx_第1页
第1页 / 共37页
《面向对象程序设计》编程题复习及其标准答案Word文档下载推荐.docx_第2页
第2页 / 共37页
《面向对象程序设计》编程题复习及其标准答案Word文档下载推荐.docx_第3页
第3页 / 共37页
《面向对象程序设计》编程题复习及其标准答案Word文档下载推荐.docx_第4页
第4页 / 共37页
《面向对象程序设计》编程题复习及其标准答案Word文档下载推荐.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

《面向对象程序设计》编程题复习及其标准答案Word文档下载推荐.docx

《《面向对象程序设计》编程题复习及其标准答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》编程题复习及其标准答案Word文档下载推荐.docx(37页珍藏版)》请在冰豆网上搜索。

《面向对象程序设计》编程题复习及其标准答案Word文档下载推荐.docx

(2)定义一个Time类,实现对“++”的前缀、后缀重载。

P134

i++:

单目运算符天猫优惠券,我就要券

14、(单继承及派生类构造函数)

(1)定义一个person类,数据成员包括:

姓名name,年龄age,性别sex

成员函数:

构造函数及display函数

(2)定义一个派生类student,公有继承与person类,新增成员:

专业major,入学日期enterdate(Date类自定义)。

(3)主函数定义student对象,各类构造函数的调用顺序。

15、(多继承)

在14题基础上由person类再派生出teacher类,新增成员:

职称title,工资wage

16、(虚继承)

由student类和teacher类共同派生出graduate类,新增成员:

年级grade,将person类定义成虚基类,实现用虚继承解决二义性。

17、(抽象类及多态性)

定义一个抽象基类Shape,由它派生出5个派生类,Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangel(三角形)。

用虚函数分别计算几何图形面积,并求他们的和。

要求定义一个基类指针,使它指向每一个派生类对象,体现其多态性。

1、#include<iostream>

usingnamespacestd;

voidmax()

inta,b;

cout<<

"

请输入两个数:

"<

endl;

ﻩcin>>

a>

b;

if(a>

b)

ﻩcout<

b<

"  "

a<<

endl;

else

ﻩﻩcout<

a<<

 "<

endl;

intmain()

max();

ﻩreturn0;

2、#include<iostream>

using namespacestd;

voidmax(int a,int b)

ﻩif(a>b)

cout<

a<<endl;

ﻩelse

ﻩcout<<b<

<endl;

voidmax(inta,intb,intc)

ﻩif(a>

b&

& a>

c)

ﻩcout<

a<

<endl;

ﻩelseif(b>

ﻩcout<<b<

<endl;

ﻩelse

c<<

intmain()

max(2,5);

ﻩmax(7,5,3);

return0;

3、#include<

iostream>

usingnamespace std;

voidmax(int a,intb,intc=0)

if(a>

b &

&a>c)

ﻩﻩcout<

endl;

elseif(b>

c)

cout<<

b<

<endl;

ﻩelse

ﻩcout<

intmain()

ﻩmax(2,5);

ﻩmax(7,5,3);

return0;

4、#include<

iostream>

usingnamespacestd;

voidswap1(inta,int b)

inttemp;

temp=a;

ﻩa=b;

b=temp;

void swap2(int*a,int *b)

inttemp;

ﻩtemp=*a;

ﻩ*a=*b;

*b=temp;

voidswap3(int&

a,int&b)

ﻩinttemp;

ﻩtemp=a;

a=b;

ﻩb=temp;

intmain()

intx,y;

x=5;

y=7;

swap1(x,y);

ﻩcout<<

"x="

x<

y="

y<

endl;

x=5;

y=7;

ﻩswap2(&x,&

y);

ﻩcout<

<x<

<" y="

<endl;

x=5;

y=7;

ﻩswap3(x,y);

ﻩcout<

x<

" y="

y<<endl;

ﻩreturn 0;

5、#include<

iostream>

#include<

string>

usingnamespacestd;

classstudent

private:

int num;

stringname;

intage;

charsex;

public:

voidset()

{

ﻩcout<

"请输入:

学号,姓名,年龄,性别(f orm)"

<<

endl;

  cin>

num>

name>>age>

sex;

}

voiddisplay()

ﻩ{

ﻩcout<

<"

学号:

num<

<endl;

cout<<

姓名:

name<

ﻩﻩcout<

年龄:

<age<

cout<

性别:

sex<<endl;

};

int main()

student s;

ﻩs.set();

ﻩs.display();

return 0;

6、#include<iostream>

#include<

string>

usingnamespacestd;

classstudent

private:

ﻩintnum;

stringname;

intage;

charsex;

public:

/*voidset()

ﻩ cout<<

请输入:

学号,姓名,年龄,性别(form)"

   cin>>

name>>

age>>

sex;

ﻩ}

*/

ﻩstudent(int num,stringname,inta,ints)

ﻩcout<<

调用构造函数num="

num<

this->

num=num;

ﻩthis->

name=name;

age=a;

ﻩsex=s;

ﻩ}天猫优惠券,我就要券

void display()

ﻩ{

ﻩcout<<

学号:

cout<

<name<

endl;

<age<<

ﻩcout<<"性别:

sex<<endl;

~student()

析构函数学号:

num<<endl;

intmain()

students(1001,"张三"

25,'

f'

),s1(1002,"

李四"

24,'

m'

);

ﻩ//s.set();

s.display();

  s1.display();

return 0;

7、#include<iostream>

#include<

using namespacestd;

class student

intnum;

ﻩstring name;

ﻩint age;

char sex;

public:

/*ﻩvoidset()

 cout<<"

学号,姓名,年龄,性别(form)"<

endl;

 cin>

>num>>

name>>

age>

>sex;

student()

ﻩﻩcout<

调用构造函数num="

0<

ﻩnum=0;

ﻩname="

;

ﻩﻩage=18;

ﻩsex='

ﻩstudent(intnum,stringname,int a,int s)

cout<<

调用构造函数num="

<num<<

this->

num=num;

ﻩthis->

name=name;

ﻩage=a;

ﻩsex=s;

void display()

cout<

"学号:

<num<

cout<

姓名:

name<<endl;

年龄:

<<age<<

性别:

sex<

endl;

~student()

<num<

};

intmain()

students(1001,"

张三",25,'f'

),s1(1002,"

24,'

),s2;

//s.set();

ﻩs.display();

endl;

s1.display();

ﻩcout<<endl;

s2.display();

cout<

return0;

8、#include<

iostream>

#include <

string>

using namespacestd;

天猫优惠券,我就要券

classstudent

private:

int num;

stringname;

intage;

ﻩcharsex;

public:

student(int num=0,stringname="

int a=18,ints='f'

ﻩcout<

调用构造函数num="

endl;

ﻩﻩthis->

num=num;

ﻩﻩthis->

name=name;

age=a;

ﻩﻩsex=s;

ﻩvoid display()

ﻩcout<<

num<

name<<

ﻩcout<<

"<<

age<

ﻩcout<

sex<

ﻩ}

~student()

ﻩcout<

天猫优惠券,我就要券 学号:

num<<

};

intmain()

ﻩstudents(1001,"

张三"

25,'

f'

),s1(1002,"

m'),s2;

//s.set();

s.display();

ﻩcout<

endl;

  s1.display();

cout<

endl;

s2.display();

return 0;

9、#include<

iostream>

#include <

usingnamespacestd;

class student

private:

ﻩintnum;

ﻩstringname;

char sex;

public:

student(intnum=0,stringname="

inta=18,ints='f')

cout<

"调用构造函数num="

num=num;

ﻩﻩthis->

name=name;

ﻩage=a;

ﻩﻩsex=s;

ﻩvoiddisplay()

endl;

ﻩcout<

name<

age<

<endl;

~student()

ﻩﻩcout<

<"析构函数学号:

num<

intmain()

ﻩstudents[3]={student(1001,"张三"

25,'

),student(1002,"

24,'

m')};

for (inti=0;

i<3;

i++)

天猫优惠券,我就要券

ﻩs[i].display();

cout<

student *p;

ﻩp=newstudent(1003,"

王五"

23,'

p->

display();

cout<

ﻩdeletep;

return0;

10、#include<

iostream>

#include<

string>

usingnamespace std;

classstudent

private:

ﻩint num;

stringname;

int age;

charsex;

public:

ﻩstudent(intnum=0,stringname=""

inta=18,ints='

f')

ﻩcout<<

调用构造函数num="

<<num<

ﻩthis->

num=num;

ﻩﻩthis->

name=name;

age=a;

ﻩsex=s;

ﻩstudent(student&

s)

ﻩnum=s.num;

ﻩname=s.name;

ﻩﻩage=s.age;

sex=s.sex;

voiddisplay()

num<<endl;

ﻩﻩcout<<

<name<

<endl;

<age<

"性别:

ﻩ~student()

析构函数 学号:

num<

endl;

int main()

students1(1001,"

张三",25,'

ﻩstudents2(s1);

s1.display();

ﻩs2.display();

return0;

11、

#include<iostream>

#include <

usingnamespacestd;

classstudent

private:

intnum;

stringname;

ﻩfloat score;

ﻩstaticfloatsum;

staticintcount;

public:

student(intnum=0,stringname="",float s=80)

this->

num=num;

this->

name=name;

ﻩscore=s;

ﻩcount++;

voiddisplay()

ﻩﻩcout<

成绩:

<score<

ﻩvoidtotal();

staticfloataverage();

floatstudent:

:

sum=0.0;

int student:

count=0;

void student:

total()

sum+=score;

floatstudent:

average()

ﻩreturnsum/count;

ﻩstudents[3]={student(1001,"张三"

87),student(1002,"

),student(1003,"

王五",90)};

for(int i=0;

i<

3;

i++)

s[i].total();

ﻩcout<

"平均成绩:

student:

average()<

endl;

return0;

12、

#include<

iostream.h>

//#include<

string>

//usingnamespacestd;

classTime

private:

int hour;

ﻩintminute;

intsecond;

public:

Time(inth=12,intm=0,int s=0)

ﻩhour=h;

ﻩminute=m;

ﻩsecond=s;

friendﻩvoiddisplay(Time&

voiddisplay(Time& t)

ﻩcout<

t.hour<

时"

t.minute<<

分"

t.second<

秒"

intmain()

ﻩTimet,t1(13,12,22);

display(t);

display(t1);

return0;

13、

(1)

//方法1:

多次重载+

#include<iostream.h>

//#include<string>

//usingnamespacestd;

classComplex

private:

ﻩfloatreal;

ﻩfloat image;

public:

Complex(float real,floatimage)

ﻩthis->

real=real;

this->

image=image;

Complex()

ﻩreal=0;

ﻩimage=0;

friendComplexoperator+(Complex&

a,Complex&

b);

friendComplex operator+(Complex&a,float b);

friendComplexoperator+(floata,Complex&

friend ostream&

operator<<

(ostream&

 output,Complexa);

friendistream&

operator>

(istream&

input,Complexa);

Complexoperator+(Complex&

a,Complex&

return Complex(a.real+b.real,a.image+b.image);

Complexoperator+(Complex&a,floatb)

returnComplex(a.real+b,a.image);

Complexoperator+(floata,Complex&b)

ﻩreturnComplex(b.real+a,b.image);

ostream&operator<

(ostream&

output,Complexa)

if(a.image>

0)

ﻩoutput<

a.real<

+"<

a.image<

"i"

<<endl;

else

ﻩoutput<

<a.real<

a.image<<

i"<

ﻩreturnoutput;

istream&

operator>>

(istream&

input,Complexa)

input>

>a.real>>

a.image;

returninput;

intmain()

ﻩComplexa(3,4),b(1,2),c,d,e,f;

ﻩc=a+b;

d=a+5;

e=3+b;

ﻩcout<

c<

cin>>

f;

<endl;

return 0;

//方法2:

使用转换构造函数实现

#include<

iostream.h>

class Complex

private:

floatreal;

ﻩfloatimage;

Complex(floatreal,floatimage)

ﻩthis->

real=real;

this->im

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

当前位置:首页 > 小学教育 > 语文

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

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