1、继承与派生参考代码1197: 继承与派生1Description请以点类Point为基类派生出一个圆类Circle。圆类Circle的数据成员为r(私有属性,存储圆的半径,圆心的点坐标通过继承点类Point加以实现),成员函数有构造函数Circle、计算圆的面积函数Area、计算圆的长函数Perimeter和输出函数Display,其中构造函数实现基类和圆类的数据成员的初始化,Display函数实现圆心坐标(利用基类Point的Display实现)、圆的半径、圆的面积(利用Area函数实现)和圆的长(利用Perimeter函数实现)的输出。请编写圆类的定义及成员函数实现,并在主函数中定义圆类对
2、象,验证各个函数的正确性。说明:圆率PI的取值为3.14已知Point类的定义及main代码如下:(不允改动)class Point public: Point(double xx,double yy); /constructor void Display(); /display point private: double x,y; /平面的点坐标x,y; int main() double x,y,r; cinxyr; /圆心的点坐标及圆的半径 Circle C(x,y,r); C.Display(); /输出圆心点坐标,圆的半径,圆的面积,圆的长 return 0;InputOutputS
3、ample Input1.5 2.6 1.8Sample OutputCenter:Point(1.5,2.6)Radius:1.8Area:10.1736Perimeter:11.304*#includeusing namespace std;class Point public: Point(double xx,double yy) /constructor x=xx; y=yy; void Display()/display point coutCenter:Point(x,y)endl; private: double x,y; /平面的点坐标x,y;class Circle:publ
4、ic Pointprivate: double r;public: Circle(double xx,double yy,double rr):Point(xx,yy) r=rr; double Area() return 3.14*r*r; double Perimeter() return 2*3.14*r; void Display() Point:Display(); coutRadius:rendl; coutArea:Area()endl; coutPerimeter:Perimeter()xyr; /圆心的点坐标及圆的半径 Circle C(x,y,r); C.Display()
5、; /输出圆心点坐标,圆的半径,圆的面积,圆的长 return 0;1217: 继承与派生2DescriptionPerson类派生大学生CollegeStu类(1)。设计一个Person类,其属性包括name和号id,其中name为指针类型,id为整型,编写成员函数:构造函数Person、Display函数(显示数据成员信息)和析构函数;由Person类派生出大学生类CollegeStu,其属性有专业subject(指针类型),C+程序设计课程成绩score(double型),编写构造函数(实现数据初始化)、输出函数Display(包括name,id,subject,score)。main的
6、代码如下:(不允改动)int main() char name81,subject81; int id; double score; cinnameidsubjectscore; CollegeStu cs(name,id,subject,score); cs.Display(); return 0;InputOutputSample InputZhangsan 2 Computer 89.5Sample OutputName:ZhangsanID:2Subject:ComputerC+ Score:89.5*#include#includeusing namespace std;class
7、Personprivate: char * name; int id;public: Person() name=NULL; id=0; Person(char *name1,int id1) name=new charstrlen(name1)+1; strcpy(name,name1); id=id1; Person() delete name; void Display() coutName:nameendl; coutID:idendl; ;class Collegestu : public Personprivate: char * subject; double score;pub
8、lic: Collegestu() subject=NULL; score=0; Collegestu(char * name1,int id1,char * subject1,double score1):Person(name1,id1) subject=new char strlen(subject1)+1; strcpy(subject,subject1); score=score1; Collegestu() delete subject; void Display() Person:Display(); coutSubject:subjectendl; coutC+ Score:s
9、corenameidsubjectscore; Collegestu cs(name,id,subject,score); cs.Display(); return 0;1218: 继承与派生3DescriptionPerson类派生大学生CollegeStu类(2)。设计一个Person类,其属性包括name和号id,其中name为指针类型,id为整型,编写成员函数:构造函数Person、Display函数(显示数据成员信息)和析构函数;由Person类派生出大学生类CollegeStu,其属性有专业subject(指针类型),C+程序设计课程成绩score(double型),编写构造函数(
10、实现数据初始化)、输出函数Display(只输出subject,score)。main的代码如下:(不允改动)int main() char name81,subject81; int id; double score; cinnameidsubjectscore; /输入学生的、id号、专业、成绩 CollegeStu cs(name,id,subject,score); cs.Person:Display(); /输出,id cs.Display(); /输出专业、成绩 return 0;InputOutputSample InputLixu 5 Software 87.5Sample O
11、utputName:LixuID:5Subject:SoftwareC+ Score:87.5*#include#includeusing namespace std;class Personprivate: char * name; int id;public: Person() name=NULL; id=0; Person(char *name1,int id1) name=new charstrlen(name1)+1; strcpy(name,name1); id=id1; Person() delete name; void Display() coutName:nameendl;
12、 coutID:idendl; ;class CollegeStu : public Personprivate: char * subject; double score;public: CollegeStu() subject=NULL; score=0; CollegeStu(char * name1,int id1,char * subject1,double score1):Person(name1,id1) subject=new char strlen(subject1)+1; strcpy(subject,subject1); score=score1; CollegeStu() delete subject; void Display() coutSubject:subjectendl; coutC+ Score:scorenameid
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1