下载此文档

C++实用教程[郑阿奇主编]12.ppt


文档分类:IT计算机 | 页数:约55页 举报非法文档有奖
1/55
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/55 下载此文档
文档列表 文档介绍
(Inheritance),是指一个事物可以继承其父辈全部或部分特性,同时本身还有自己的特性。++中,当一个新类从一个已定义的类中派生后,新类不仅继承了原有类的属性和方法,并且还拥有自己新的属性和方法,称为类的继承和派生。被继承的类称为基类(Baseclass)或超类(Superclass)(又称父类),在基类或父类上建立的新类称为派生类(Derivedclass)或子类(Subclass)。 上述父类和子类的关系称为类层次或继承关系。在类设计时,常常将这些关系用树来描述。例如,下图就是用树来描述学校人员类的层次关系。++中,类的继承具有下列特性:(1)单向性。(2)传递性。(3)可重用性。++中,一个派生类的定义可按下列格式: class<派生类名>:[<继承方式1>]<基类名1>,[<继承方式2>]<基类名2>,…{ [<派生类的成员>]};++继承方式有三种:public(公有)、private(私有)及protected(保护)(public)方式具有下列特点:(1)在派生类中,基类的公有成员、保护成员和私有成员的访问属性保持不变。(2)派生类对象只能访问派生类和基类的公有(public)成员。[例Ex_PublicDerived]派生类的公有继承示例。#include<iostream>#include<cstring>usingnamespacestd;classCPerson{public: CPerson(char*name,intage,charsex='M') { strncpy(this->name,name,20); this->age=age; this->sex=sex; } voidSetNameAndSex(char*name,charsex='M') //更改姓名和性别 { strncpy(this->name,name,20); this->sex=sex; }protected:voidSetAge(intage) { this->age=age; } voidShowInfo() //显示信息 { cout<<"姓名:"<<name<<endl; cout<<"性别:"<<(sex=='M'?"男":"女")<<endl; cout<<"年龄:"<<age<<endl; }private: char name[20]; //姓名 char sex; //性别 int age; //年龄};classCStudent:Person{public: CStudent(char*name,char*no,intage,charsex='M') :CPerson(name,age,sex) //调用基类构造函数进行初始化{ strncpy(this->stuno,no,20); } voidSetScore(floats1,floats2,floats3) { score[0]=s1; score[1]=s2; score[2]=s3; total=s1+s2+s3; ave=total/(float); } voidSetNoAndAge(char*no,intage) { strncpy(this->stuno,no,20); this->SetAge(age); } voidShowAll() { ShowInfo(); //调用基类的成员函数 cout<<"学号:"<<stuno<<endl; cout<<"三门成绩:"<<score[0]<<"\t"<<score[1]<<"\t"<<score[2]<<endl; cout<<"总成绩和平均分:"<<total<<"\t"<<ave<<endl; }private: char stuno[20]; //学号 float score[3],ave,total; //三门成绩、平均分和总分};intmain(){ CStudentone("LiMing","21050101",19); //A (90,80,84); //B (); //调用派生类的公有成员函数 ("WangFang",'W'); //调用基类的公有成员函数 ("21050102",18); //调用派生类的公有成员函数 (); //调用派生类的公有成员函数 return0;}程序运行结果如下:

C++实用教程[郑阿奇主编]12 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数55
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2072510724
  • 文件大小328 KB
  • 时间2020-03-24
最近更新