- 0
- 0
- 约2.15万字
- 约 67页
- 2019-08-29 发布于广东
- 举报
第5章 派生类 5.1 派生类的概念 基类对象 #includeiostream.h class A { int pri; public: int pub; void set_pri(int a) {pri=a;} void set_pub(int a) {pub=a;} void out_pri() { coutpri“ ”; } }; 基类对象 objA 例 5-2 描述串的类 class string { int length; char * contents; public: string( ) {length=0; contents=0;} ~string( ); int get_length( ) {return length;} char * get_contents( ) { return contents;} void set_contents(int in_length, char * in_contents); void set_contents(char * in_contents); }; C++语言允许派生类可以重新定义基类的成员。如果派生类定义了与基类同名的成员,称派生类的成员覆盖了基类的同名成员。 如果要在派生类中使用基类的同名成员,可以显式的使用下述类名限定符: 类名::成员 此外可以,用下面的方法访问全局变量: ::成员 例5-3 class base { public: int a,b;} class derived: public base { public: int b,c; }; 一个派生类从外部看,非常类似一个基类,但内部则有不同。 特别是,一个派生类没有权力访问它的基类的私有数据,就像其他任何类一样。 例如,edit_string类不能直接访问string类的contents域或length域。如果edit_string类的成员函数要使用contents,必须调用get_contents()来得到它。 一个类的私有成员对其他类不可以访问的原因是确保没有其他类的成员函数依赖它们。这就允许软件适应未来的改变,赋予面向对象方法以更大的能力。 当从现成的类派生出新类时,派生类有以下功能: 1) 增加新的数据成员。 2) 增加新的成员函数。 3) 重新定义数据成员。 4) 重新定义成员函数。 5.1.2 保护段 一个派生类继承其基类时,基类的所有私有段的成员不能被派生类访问。 例5-4 基类是否存在这样一类成员? 它们可以被派生类访问,但不能被其他类访问。除了基类和它的派生类可以看到这部分成员外,对其他类如同私有段成员一样。 重新定义为: class 类名 { private: ……… protected: ……… public: ……… }; 5.1.3 基类的访问描述符 为说明派生关系,派生类的说明为 class edit_string: public string {…}; access为private ,称为私有派生,基类的所有公有段成员和保护段成员都成为派生类私有段的成员。 1. 公有派生 在公有派生情况下,基类保护成员和公有成员的访问全限在派生类中保持不变。即: 1) 基类的保护成员在派生类中仍然是保护成员。 2) 基类的公有成员在派生类中仍然是公有成员。 3) 基类的私有成员在派生类中成为派生类的不可访问成员。 一个类的不可访问成员是指该类包含有这些成员,但在类内和类外,都不能被直接访问。 因此,对于一个派生类A,类的成员有四种:私有成员,保护成员,公有成员和不可访问成员。如果该派生类还以公有方式继续派生出它的派生类B,那么 1) A类的保护成员在派生类B中仍然是保护成员。 2) A类的公有成员在派生类B中仍然是公有成员。 3) A类的私有成员和不可访问成员在派生类B中成为派生类的不可访问成员。 #include iostream.h class
您可能关注的文档
最近下载
- 《行业用水定额 第1部分:农作物灌溉用水定额》.pdf VIP
- DB36_T 1158-2019 风化壳离子吸附型稀土矿产地质勘查规范.pdf VIP
- 苏J37-2009 消防站建筑设计图样.pdf VIP
- 小小讲解员培训PPT课件.pptx VIP
- DB3705_T 04-2023 益母草盐碱地栽培技术规程.docx VIP
- T∕GYJS 011-2025 智算中心设计规范.docx VIP
- CECS19-1990 混凝土排水管道工程闭气检验标准.docx VIP
- DB37_T 4432-2021 固定污染源废气 挥发性脂肪胺的测定 气相色谱法.docx VIP
- 2025年高考英语真题卷(新高考一卷)附答案解析及听力原文.docx VIP
- CECS356-2013 高强箍筋混凝土结构技术规程.docx VIP
原创力文档

文档评论(0)