本文是本人学习网络上各位大牛的总结。
一、抽象类
在面向对象领域由于抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能实例化的。
抽象类体现了数据抽象的思想,是实现多态的一种机制。它定义了一组抽象的方法,至于这组抽象的方法的具体表现形式由派生类来实现。同事抽象类提供了继承的概念,他的出发点就是为了继承,否则它没有存在的任何意义。所以说定义的抽象类一定是用来继承...
分类:
编程语言 时间:
2014-07-10 23:24:04
阅读次数:
221
(1)假设一个名字在派生类的作用域内无法正确解析,则编译器将继续在外层的基类作用域中寻找该名字的定义。(2)派生类的成员将隐藏同名的基类成员。(3)除了覆盖继承而来的虚函数之外,派生类最好不要重用其它定义在基类中的名字。(4)声明在内层作用域的函数并不会重载声明在外层作用域的函数。定义在派生类中的函...
分类:
编程语言 时间:
2014-07-09 22:18:13
阅读次数:
228
1.在派生类中访问基类中的成员或方法一般有以下两种方法: 1).c#通过base.()的方式调用基类的方法成员。 2).通过显示类型转换。2.隐藏基类成员 有的时候同一功能需要重新再派生类里实现新的逻辑,而不想用基类的方法,即隐藏掉父类的成员方法。new修饰符来实现隐藏基类成员。3.密封类和密封方法...
分类:
其他好文 时间:
2014-07-09 18:42:08
阅读次数:
197
1、继承关系(泛化关系) 【说明】:继承关系是子类(派生类)继承父类(基类),或者子接口继承父接口的关系。即子类对象“is a” 父类对象,比方鸟是动物。 【UML图】: 图解:Animal为父类,Bird类、Fish类、Dog类分别继承了Animal类,它们不仅继承了Ani...
分类:
其他好文 时间:
2014-07-09 00:03:04
阅读次数:
277
1.构造函数和析构函数中调用虚函数
(1)采用静态编译。
(2)在编译阶段自动联接自己类中的函数或基类中的函数,不在派生类中重定义一个函数。
注:构造函数和析构函数中调用的虚函数,派生类都不一定存在的情况下,只能去调用基类或者自身的函数。
example 1
#include
class A
{
public:
A() {}
virtual void...
分类:
编程语言 时间:
2014-07-08 17:48:25
阅读次数:
274
(一)
(1)private继承意味着“根据某物实现出”,只有实现部分被继承,接口部分应略去;
(2)它只在软件“实现”层面上有意义,在软件“设计”层面上没有意义。
(3)private继承而来的基类成员都会在派生类中成为private属性,纵使它们在base class中原本是protected或public属性;
(4)如果类之间是private继承关系,编译器不会自动将一个派生类对象...
分类:
编程语言 时间:
2014-07-08 16:56:58
阅读次数:
275
DECLARE_MESSAGE_MAP(
)
说明:
你的程序中的每一个CCmdTarget的派生类都可以提供一个消息映射以处理消息。在你的类声明的末尾使用DECLARE_MESSAGE_MAP宏。然后,在实现了类成员函数的.CPP文件中加入BEGIN_MESSAGE_MAP宏,再加入每个消息处理函数的宏入口,最后使用END_MESSAGE_MAP宏。
注意:
如果你在DE...
分类:
其他好文 时间:
2014-07-08 16:03:43
阅读次数:
146
1封装对象的原理封装就是把类的内部隐藏起来,好处:1良好的封装能够减少耦合,2类内部的实现可以自由的修改,3 类具有清晰的对外接口2继承性如何访问基类的成员派生类可以调用基类的方法,通过base关键字,派生类在访问基类的时候有一些限制。不能访问private 成员。interal的基类成员只能只能被...
分类:
其他好文 时间:
2014-07-06 13:45:02
阅读次数:
146
1.赋值兼容规则
(1)派生类对象可以给基类对象赋值,这种情况下派生类对象将从基类继承的成员的值赋值给一个基类对象;但是不允许将一个基类的对象赋值给一个派生类。
(2)可以将派生类对象的地址赋给基类指针,使基类指针指向派生类对象,通过基类指针引用成员时只可以引用派生类从基类继承而来的成员,而不允许引用派生类的新成员。
(3)引用与指针相同。
2.多继承
(1)一个派生类从两个以上的基类中...
分类:
编程语言 时间:
2014-07-06 11:51:03
阅读次数:
207
1.虚基类
考虑这样一种情况:当某个类的部分或者全部直接基类是另一个共同基类派生而来,这些直接基类从上一级基类继承而来的成员就一定拥有相同的名称,这样就会产生二义性问题。
解决办法:当派生类和直接基类产生了二义性问题-->加类的作用域。
当派生类和间接基类产生了二义性问题-->虚基类。
2.虚基类的说明:
class 派生类名:virtual 访问权限 基类名
{派...
分类:
编程语言 时间:
2014-07-06 10:08:21
阅读次数:
219