组合
继承
继承与组合
构造与析构顺序
派生类重载基类函数的访问
多态性&虚函数
纯虚函数和抽象基类
多重继承
派生类成员的标识与访问
组合、继承与多态性:
面向对象涉及的重要目的之一就是代码重用,多态性可以以常规方式书写程序来访问多种现有的且专门化了的相关类。继承和多态是面向对象程序设计方法的最主要的特征。
继承可以将一群相关的类组织起来,并共享一些相同数据和操作行为;
多态使得设计者在这些类上编程时,可以如同操作一个单一体,而非相互独立的类,且给设计者更多灵活性来加入或删除类的一些属性或方法
组合
对于比较简单的类,其数据成员可能都是基本数据类型,但是对于某些复杂的类来说,它的某些数据成员可能又是另一些类类型,这就形成了类的组合。实际上,C一直在使用组合,如C中的结构体就可以看成是不同类型数据的组合,类也是不同类型数据及操作的组合,只不过是基本的数据类型的组合。
#include <iostream>
class Myclass
{
enum{NUM = 50};
char cName[20];
int iNum;
Student stulist[Num];
public:
const char* Getclassname();
const char* Getstuname(int ino);
};
Myclass::Myclass()
{
iNum = 0;
}
inline const char* Myclass::Getclassname()
{
return cName;
}
const char* Myclass::GetStuName(int iNo)
{
for(int i = 0; i < iNum; i++)
{
if(stulist[i].Getno() == iNo)
return stulist[i].GetName();
}
return NULL;
}
继承
类的继承就是新类从已有类那里获得已有的属性和行为,或者说是基类派生了具有基类特征又具有新特征的派生类。继承是软件可重用型的一种形式,新类通过继承从现有类中得到其属性和行为,并对其进行覆盖或改写,产生新类所需要的功能。同样,新类也可以派生出更新的类。创建新类,但不是从头创建,可以从其他人已经创建并调试过的类上开始创建,创建关键是使用类,而不是更改已存在的代码。
类继承语法:
class 子类名:public/private/protected 父类名
{
};
子类具有父类的所有属性和行为,且可以增加新的行为和属性
C++提供了三种继承的方式:公有继承public、私有继承private、保护继承protected
公有继承
1)基类的private、public、protected成员的访问属性在派生类中保持不变
2)派生类中继承的成员函数可以直接访问基类中的所有成员,派生类中新增的成员函数只能访问基类的public和protected成员,不能访问基类的private成员
3)通过派生类的对象只能访问基类的public成员
例子
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)