1 / 30
文档名称:

C03面向对象语法.ppt

格式:ppt   大小:74KB   页数:30页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C03面向对象语法.ppt

上传人:dyx110 2020/1/28 文件大小:74 KB

下载得到文件列表

C03面向对象语法.ppt

相关文档

文档介绍

文档介绍:面向对象语法2继承的实现原理继承的访问控制规则派生类的构造/析构函数成员的重写指向基类的指针赋值兼容规则类型转换继承和组合多继承虚基类继承与派生的概念继承与派生是面向对象程序设计的基本特征之一。继承是从已有的类基础上建立新类,新类既可以共享另一个类的操作和数据,也可以定义新的成员。如,定义类B时,自动得到类A的操作和数据属性,使得程序员只需定义类A中所没有的新成员就可完成类B的定义,这样称类B继承了类A,类A派生了类B,A是基类(超类、父类),B是派生类(子类)。继承与派生B1,B2的派生类(多继承)AB1B2C1C2C3A的派生类(单继承)C3的基类B1,B2的基类A的派生类C1,C2,C3的基类B1的派生类图11-1类之间的继承与派生关系派生类的定义class<派生类名>:[继承方式]<基类名>{//派生类新定义成员…};继承方式可取如下三个值private:表示私有继承(默认方式)protected:表示保护继承public:表示公有继承举例#include<>#include<>classCPerson{public: CPerson(char*szName,chars,inta){ strcpy(name,szName); sex=s; age=a; } charname[10];charsex;intage; voiddisplay(){ cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl; cout<<"age:"<<age<<endl; }};classCStudent:Person{public: CStudent(intn,char*sz1,chars,inta,char*sz2):CPerson(sz1,s,a) { num=n; strcpy(dpt,sz2); } int num;char dpt[32]; voiddisplay() { cout<<"num:"<<num<<endl; CPerson::display(); cout<<"dpt:"<<dpt<<endl; }};派生类的构成派生类数据分为两部分:一部分是从基类继承的成员,另一部分是派生类中定义的数据 CPerson CStudentcharname[10];charsex;intage;charname[10];charsex;intage;------------------intnum;chardpt[32];(public)。公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员是不可访问的。(private)。私有继承的特点是基类的公有成员和保护成员作为派生类的私有成员,并且不能被这个派生类的子类访问。(protected)。保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。