面向对象程序设计通过**继承**将有相似关系的类构成一种层次关系,实现代码的重用;通过**多态**,在一定程度上忽略相似类型的区别,用统一的方式使用他们的对象。
**继承:**继承体系中有基类、派生类。
基类中的函数分为两种:一种是基类希望其派生类进行覆盖的函数,即虚函数,一种是基类希望派生类直接继承而不要改变的函数。任何构造函数之外的非静态函数都可以是虚函数,如果基类将一个函数定义为虚函数,则其在...
分类:
编程语言 时间:
2015-05-10 20:34:44
阅读次数:
137
第五章 继承与派生
5.1 继承和派生
继承和派生的概念
继承:在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点),那么就可以把A作为一个基类,而把B作为基类的一个派生类(也称子类)。
派生类是通过对基类进行修改和扩充得到的。在派生类中,可以扩充新的成员变量和成员函数。
派生类一经定义后,可以独立使用,不依赖于基类。
派生类拥有基类的全部成员函数和成...
分类:
编程语言 时间:
2015-04-22 14:01:34
阅读次数:
184
多继承格式:
class 类名:继承方式1 基类1,继承方式2 基类2,...........
分类:
编程语言 时间:
2015-04-15 17:17:09
阅读次数:
149
尽管大多数应用程序都使用单个基类的公用继承,但有些时候单继承是不够用的,因为可能无法为问题域建模或对模型带来不必要的复杂性。在这种情况下,多重继承可以更直接地为应用程序建模。一、基本概念多重继承是从多于一个直接基类派生类的能力,多重继承的派生类继承其父类的属性。class ZooAnimal{};c...
分类:
编程语言 时间:
2015-03-29 16:27:37
阅读次数:
279
1、概念继承:在定义一个新的类B时,如果该类与某个已知类A相似(指的是B拥有A的全部特点),那么就可以把A作为一个基类,而把B作为一个派生类(也称子类)。派生类是通过对基类进行修改和扩充得到的。在派生类中,可以扩充新的成员变量和成员函数。派生类一经定义后,可以独立使用,不依赖于基类。派生类拥有基类的...
分类:
编程语言 时间:
2015-03-19 23:37:52
阅读次数:
205
对C++继承的一点理解 一直对C++的继承模糊不清,今天看了一篇技术博,写得很好,让我是深有感触,忍不住就记录了一下重点(我转载过来了,方便同样对继承模糊不清的你:C++类的继承和派生)class 派生类名称:继承方式(public、private or protected) 基类1,…,继承方式 基类n
{
派生类成员声明;
}多重继承:一个派生类有多个基类
单继承:一个派生类只...
分类:
其他好文 时间:
2015-02-12 20:10:24
阅读次数:
164
1、继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object 类作为所有类的基类。2、派生类应当是对基类的扩展。派生类可以添加新的成员,但不能除去已经继承的成员的定义。3、构造函数和析构函数不能被继承。除此以外的其它成员,不论对它们定义了...
C++:派生类的默认构造函数和拷贝构造函数调用基类构造函数的机制(含程序验证)
1、如果基类定义了不带参数的默认构造函数,则编译器为派生类自动生成的默认构造函数会调用基类的默认构造函数。
2、如果基类定义了拷贝构造函数,则编译器为派生类自动生成的拷贝构造函数同样会调用基类的拷贝构造函数。
3、如果基类定义了带参数的构造函数,派生类没有定义任何带参数的构造函数,则不能直接调用基类的带参构造函数,程序编译不通过。...
分类:
编程语言 时间:
2015-01-21 11:37:33
阅读次数:
197
条款10到条款12讲述了赋值操作符、赋值构造函数、以及基类派生类之间调用这些函数时应该注意什么?...
分类:
编程语言 时间:
2015-01-11 20:25:00
阅读次数:
262
1、类指针、对象指针
class x{
//…
public:
voidshow();
};
main()
{
x x1,*ptr1; //定义类x的对象x1和类x的指针ptr1
x x2,*ptr2; //定义类x的对象x2和类x的指针ptr2
x*ptr3; //定义类x的指针ptr3
//…
pt...
分类:
编程语言 时间:
2014-12-15 15:28:21
阅读次数:
392