友元与继承Word格式.docx

上传人:b****3 文档编号:17150295 上传时间:2022-11-28 格式:DOCX 页数:16 大小:18.71KB
下载 相关 举报
友元与继承Word格式.docx_第1页
第1页 / 共16页
友元与继承Word格式.docx_第2页
第2页 / 共16页
友元与继承Word格式.docx_第3页
第3页 / 共16页
友元与继承Word格式.docx_第4页
第4页 / 共16页
友元与继承Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

友元与继承Word格式.docx

《友元与继承Word格式.docx》由会员分享,可在线阅读,更多相关《友元与继承Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

友元与继承Word格式.docx

SampleOutput

124678

#include<

iostream>

usingnamespacestd;

public:

ARR(intx[],intsize);

voiddelsame();

voidshow();

private:

intm;

inta[100];

ARR:

:

ARR(intx[],intsize)

m=size;

for(inti=0;

i<

m;

++i)

{

a[i]=x[i];

}

}

voidARR:

delsame()

m-1;

if(a[i]==a[i+1])

{

for(intj=i+1;

j<

j++)

a[j]=a[j+1];

m--;

i--;

show()

for(inti=0;

i++)

cout<

<

a[i]<

'

'

;

endl;

intmain()

intx[100];

intsize;

while(cin>

>

size)

size;

cin>

x[i];

ARRv(x,size);

v.delsame();

v.show();

return0;

ProblemDescription

定义一个日期类,它的数据成员有年、月、日;

它的函数成员有设置值、打印输出和判断是否闰年。

在类外部有一个普通函数,它的功能是判断一个日期类对象是否闰年,并在屏幕上显示:

“leapyear”或者“notleapyear”。

输入数据有多行,每行代表一个日期。

输出有多行,每行代表一个日期的判断结果。

200012

200138

201211

2000/1/2leapyear

2001/3/8notleapyear

2012/1/1leapyear

iostream.h>

classComplex{

intyears,month,day;

voidinit(inta,intb,intc)

years=a;

month=b;

day=c;

intpd()

if(years%4==0&

&

years%100!

=0||years%400==0)

return0;

else

return1;

voidprint()

cout<

years<

"

/"

month<

day;

main()

ComplexA;

inta,b,c;

a>

b>

c)

A.init(a,b,c);

if(A.pd()==0)

{

A.print();

cout<

leapyear"

}

notleapyear"

设计一个点类,能描述平面坐标上点;

利用友元函数计算并输出两点间的距离。

输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。

对于每组输入数据,输出一行,结果保留两位小数。

0001

0110

1.00

1.41

iomanip>

cmath>

classDate

doublex1;

doubley1;

doublex2;

doubley2;

Date(doublea1,doubleb1,doublea2,doubleb2)

x1=a1;

y1=b1;

x2=a2;

y2=b2;

friendvoiddisp(Date&

);

voiddisp(Date&

m)

doublee;

e=sqrt((m.x2-m.x1)*(m.x2-m.x1)+(m.y2-m.y1)*(m.y2-m.y1));

setiosflags(ios:

fixed)<

setprecision

(2)<

e<

doublea1,b1,a2,b2;

a1>

b1>

a2>

b2)

DateA(a1,b1,a2,b2);

disp(A);

}

继承类

classss

voidinit(doublea,doubleb)

x=a;

y=b;

x*y<

protected:

doublex,y;

classaa:

publicss

aa(doublea):

z(a)

{}

voidshow()

x*y*2+x*z*2+y*z*2<

x*y*z<

doublez;

doublea,b,c,d,e;

b)

cin>

c>

d>

e;

ssA;

A.init(a,b);

A.print();

aaB(e);

B.init(c,d);

B.show();

定义一个学生类Student,它包括学生名、住址和出生年份等私有数据以及输出函数show(),从它派生出一个大学生Academician类及一个小学生类Primary_scholar。

在大学生类中增加数据成员大学校名university_nane,在小学生类中所增加的数据成员是两门课的成绩,两个派生类所有有关的输出都由函数show()来实现。

输入数据有多行,第一行有两个整数n和m,分别代表大学生对象的个数n和小学生对象的个数m,接下来的n行为大学生的数据信息,m行为小学生的数据信息

输出每个学生的信息,一个学生一行

23

zhangFuzhou1988ZhangzhouNormalUniversity

liXiamen1987FuzhouUniversity

wangZhangzhou19987589

suQuanzhou19979090

wuPutian19967887

Name:

zhang,Address:

Fuzhou,Year:

1988,University_Name:

ZhangzhouNormalUniversity

li,Address:

Xiamen,Year:

1987,University_Name:

FuzhouUniversity

wang,Address:

Zhangzhou,Year:

1998,Score:

7589

su,Address:

Quanzhou,Year:

1997,Score:

9090

wu,Address:

Putian,Year:

1996,Score:

7887

classStudent

voidinit(inta,char*p,char*y)

strcpy(name,p);

strcpy(b,y);

name<

Address:

b<

Year:

x;

intx;

charname[100],b[100];

classAcademician:

publicStudent

Academician(char*a)

strcpy(c,a);

University_Name:

c<

charc[100];

classPrimary_scholar:

Primary_scholar(inta,intb):

m(a),n(b)

Score:

m<

n<

intm,n;

intm,n,y,a,b;

charname[100],c[100],z[100];

m>

n;

while(m--)

name>

y>

z;

AcademicianA(z);

A.init(y,name,c);

A.show();

while(n--)

b;

Primary_scholarB(a,b);

B.init(y,name,c);

B.print();

长方形的面积和长方体的体积

集合的并

classIntset

Intset(){EndPosition=-1;

Intset(inta[],intsize)

EndPosition=size;

element[i]=a[i];

voidinputdata(inta[],intsize)

voidCopy(Intset&

set)

intk=EndPosition,t;

set.EndPosition;

t=0;

for(intj=0;

EndPosition;

if(element[j]==set.element[i])

t=1;

break;

if(t==0)

element[k]=set.element[i];

k++;

EndPosition=k;

voidPrint()

sort();

element[i]<

intelement[100];

intEndPosition;

voidsort()

intt;

for(inti=0;

EndPosition-1;

for(intj=i+1;

if(element[i]>

element[j])

{

t=element[i];

element[i]=element[j];

element[j]=t;

}

intm,n,a[100],b[100],i;

for(i=0;

cin>

a[i];

b[i];

IntsetA(a,m);

IntsetB(b,n);

B.Copy(A);

B.Print();

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

当前位置:首页 > 经管营销 > 经济市场

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

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