继承与派生参考代码讲解Word文档下载推荐.docx
- 文档编号:22614910
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:31
- 大小:19.16KB
继承与派生参考代码讲解Word文档下载推荐.docx
《继承与派生参考代码讲解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《继承与派生参考代码讲解Word文档下载推荐.docx(31页珍藏版)》请在冰豆网上搜索。
C.Display();
//输出圆心点坐标,圆的半径,圆的面积,圆的周长
return0;
}
Input
Output
SampleInput
1.52.61.8
SampleOutput
Center:
Point(1.5,2.6)
Radius:
1.8
Area:
10.1736
Perimeter:
11.304
**************************************************************************
#include<
iostream>
usingnamespacestd;
Point(doublexx,doubleyy)//constructor
{
x=xx;
y=yy;
}
voidDisplay()//displaypoint
cout<
<
"
Point("
x<
"
y<
)"
endl;
}
classCircle:
publicPoint
doubler;
Circle(doublexx,doubleyy,doublerr):
Point(xx,yy)
r=rr;
doubleArea()
return3.14*r*r;
doublePerimeter()
return2*3.14*r;
voidDisplay()
Point:
:
Display();
r<
Area()<
Perimeter()<
1217:
继承与派生2
Person类派生大学生CollegeStu类
(1)。
设计一个Person类,其属性包括姓名name和身份证号id,其中name为指针类型,id为整型,编写成员函数:
构造函数Person、Display函数(显示数据成员信息)和析构函数;
由Person类派生出大学生类CollegeStu,其属性有专业subject(指针类型),C++程序设计课程成绩score(double型),编写构造函数(实现数据初始化)、输出函数Display(包括name,id,subject,score)。
main的代码如下:
charname[81],subject[81];
intid;
doublescore;
name>
id>
subject>
score;
CollegeStucs(name,id,subject,score);
cs.Display();
Zhangsan2Computer89.5
Name:
Zhangsan
ID:
2
Subject:
Computer
C++Score:
89.5
cstring>
classPerson
char*name;
Person()
name=NULL;
id=0;
Person(char*name1,intid1)
{
name=newchar[strlen(name1)+1];
strcpy(name,name1);
id=id1;
~Person()
delete[]name;
name<
cout<
id<
classCollegestu:
publicPerson
char*subject;
Collegestu()
subject=NULL;
score=0;
Collegestu(char*name1,intid1,char*subject1,doublescore1):
Person(name1,id1)
subject=newchar[strlen(subject1)+1];
strcpy(subject,subject1);
score=score1;
~Collegestu()
delete[]subject;
Person:
subject<
score<
Collegestucs(name,id,subject,score);
1218:
继承与派生3
Person类派生大学生CollegeStu类
(2)。
由Person类派生出大学生类CollegeStu,其属性有专业subject(指针类型),C++程序设计课程成绩score(double型),编写构造函数(实现数据初始化)、输出函数Display(只输出subject,score)。
//输入学生的姓名、id号、专业、成绩
cs.Person:
//输出姓名,id
//输出专业、成绩
Lixu5Software87.5
Lixu
5
Software
87.5
classCollegeStu:
CollegeStu()
CollegeStu(char*name1,intid1,char*subject1,doublescore1):
~CollegeStu()
1219:
继承与派生4
已知Base为基类,派生出Derived类,两个类的定义及main的代码如下(不允许改动),请完成Base类和Derived类的构造函数和析构函数,能够根据输入获取相应的输出。
classBase
intb;
Base(int);
~Base();
classDerived:
publicBase
intd;
Derived(int,int);
~Derived();
inta,b;
a>
b;
Deriveddr(a,b);
13
Base1sayshello
Derived3sayshi
Derived3saysbye
Base1saysgoodbye
Base(intc)
b=c;
Base"
b<
sayshello"
~Base()
saysgoodbye"
Derived(intc,intb):
Base(c)
d=b;
Derived"
d<
sayshi"
~Derived()
saysbye"
1220:
继承与派生5
由Array类派生出有序数组SortArray类,SortArray类中实现有序数组的插入。
已知Array类的定义如下(不允许增加成员函数):
classArray
Array();
//构造函数,初始化为空数组(length置为0)
intLength();
//获取数组的实际长度
doubleGet(intpos);
//获取data中下标为pos的元素的值
voidInsert(intpos,doublex);
//在下标pos处插入x
//输出线性表
doubledata[MaxSize];
//存储元素(MaxSize为常量)
intlength;
//数组的实际长度
SortArray类定义如下(不允许增加成员函数):
classSortArray:
privateArray
SortArray();
voidInsert(doublex);
//递增有序数组中插入x,使序列仍有序
请实现Array类和SortArray类的成员函数,main中输入若干个实数,以0结束,利用SortArray类中的Insert函数将它们插入data中,得到有序序列,再利用Display函数输出有序序列。
代码如下(不允许修改):
SortArraysa;
doublenum;
while
(1)
num;
if(fabs(num)<
=1e-6)break;
try
sa.Insert(num);
//
catch(char*message)
cout<
message<
//如失败提示失败信息
sa.Display();
2.56.78.32.86.536.827.330
Thelength:
7
Theelements:
2.52.86.536.76.827.338.3
#include<
cmath>
constintMaxSize=100;
//顺序表的最大长度
//获取顺序表实际长度
//获取下标为pos的元素的值
//输出线性表
//存储元素
//数组的实际长度
Array:
Array()
{length=0;
intArray:
Length()
{returnlength;
doubleArray:
Get(intpos)
if(pos<
0||pos>
length-1)//下标不合法
throw"
Illegalposition"
;
returndata[pos];
voidArray:
Insert(intpos,doublex)//在下标pos处插入x
inti;
if(length>
=MaxSize)//表满不能插入
Overflow"
0||pos>
length)//下标不合法
for(i=length-1;
i>
=pos;
i--)//将下标大于等于pos的元素后移
data[i+1]=data[i];
data[pos]=x;
//在下标pos处插入元素x
length++;
//线性表长度增1
Display()//输出线性表
{
inti;
length<
for(i=0;
i<
length;
i++)
data[i]<
"
//classSortArray
SortArray:
SortArray():
Array(){}
intSortArray:
{returnArray:
Length();
doubleSortArray:
Get(pos);
voidSortArray:
Display()
{Array:
Insert(doublex)//insert
if(Length()>
=MaxSize)throw"
for(i=0;
if(Get(i)>
x)
break;
Array:
Insert(i,x);
cin>
if(fabs(num)<
try
{
sa.Insert(num);
}
catch(char*message)
cout<
1221:
继承与派生6
Array(intsize);
//构造函数,初始化数据成员(为data分配内存,MaxSize置为size,length置为0)
double*data;
intMaxSize;
SortArray类定义如下(不允许增加其它成员函数):
SortArray(intsize);
main中的代码如下(不允许改动):
intsize;
size;
SortArraysa(si
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 继承 派生 参考 代码 讲解