- 博客(8)
- 收藏
- 关注
原创 C++多态之继承8-虚基类
在之前的文章中我们讨论了多重继承,留下了一个钻石问题,本文我们将继续讨论这个问题,给出解决问题的方法。虚基类通过下面的例子我们来分析钻石问题class PoweredDevice{public: PoweredDevice(int nPower) { cout << "PoweredDevice: " << nPower << endl; }};
2015-12-30 10:59:52
503
原创 C++多态之继承7-多重继承
之前我们列举的所有例子都是单一的继承--每一个继承类有且只有一个父类。然而,C++提供了多重继承的功能,多重继承使得派生类能从多个父类继承成员。下面是一个多重继承的列子#include class Person{private: std::string m_strName; int m_nAge; bool m_bIsMale; public:
2015-12-30 10:43:00
522
原创 C++多态之继承6-派生类中增加功能,重定义功能,添加功能以及隐藏功能
前面我们讲了很多关于继承的知识,我们注意到继承的最大优点就是能够重用现有的代码。其实我们还可以增加新的功能,修改基类已有的功能以及隐藏基类的一些功能,本文我们就着重研究下如何实现这些功能。从一个简单的例子开始#include using namespace std; class Base{protected: int m_nValue; public: B
2015-12-23 12:29:45
1043
原创 C++多态之继承5-继承和访问说明符(public ,protected, private)
之前关于继承的文章,我们总是将类的数据成员设置为公有的(public),这么做只是为了使例子更简单易懂。本文中,我们将讨论在继承的过程中,访问说明符所扮演的角色,同时也会讲到C++中的不同种类的继承。关于这点,之前我们已经看过私有(private)和公有(public)访问说明符,这些说明符能够决定谁能访问类的成员。简单会议下,公有成员能在任何地方被访问。私有成员只能被同一个类的成员函数访问。
2015-12-22 12:20:40
491
原创 C++ 多态之继承4-派生类的构造函数以及初始化
之前的两篇文章,我们已经了解了C++中继承的一些基本知识,也探索了初始化派生类的次序。本文主要是更深入的了解构造函数所扮演的角色(初始化一个派生类时)。我们继续沿用上篇文章的例子。class Base{public: int m_nValue; Base(int nValue=0) : m_nValue(nValue) { }};
2015-12-21 15:18:17
1701
原创 c++多态之继承3-派生类的构造次序
上篇文章中我介绍了一些c++中继承的基本知识,本文我们将更近的观察下当派生类被实例化的时候发生的一些事。首先,我们引用一个新的类来说明一些重要知识点。class Base{public: int m_nValue; Base(int nValue=0) : m_nValue(nValue) { }}; class Derived
2015-12-21 14:09:51
722
原创 C++ 多态之继承2-继承的相关基础
之前我们讲了一下关于继承的一些抽象概念,现在我们来聊聊如何在c++中使用继承。在c++中,继承发生在两个类之间。当一个类从另外一个继承,这个派生类将会继承基类的变量(variables)以及函数(functions)。这些变量以及函数变成了派生类的一部分。A Person base class如下是一个简单的基类(人):#include class Person{publ
2015-12-21 11:22:19
379
原创 C++ 多态之继承1-简介
接触c/c++已经有3个念头了,偏向c,所以在c++方面,自我评价是半吊子,只会使用它的一些基本功能。最近比较闲,所以就重新学习了c++,学习期间有一些自己的感触,所以想分享给大家,准备从c++比较难的继承开始写起。C++提供了两种主要的方式来构建一个功能复杂的类:组合和继承,组合主要是通过结合其他功能对象来创建新的对象,使新对象具有更丰富的功能;而继承则是创建一个新对象,该新对象通过直接获取
2015-12-21 09:24:06
324
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人