一.基本概念继承是面向的三大特征之一,指的是在一个类的基础上,定义一个新类;原本的类成为父类(基类),新类称为子类(派生类)。生活中,继承的例子也是数不胜数,比如一个儿子继承了他父亲,那么他就享受他父亲的财产了,当然不是全部,详细解释见下文。在这里Animal是Dog类和Brid类的父类。继承的好处...
分类:
其他好文 时间:
2014-12-11 15:18:32
阅读次数:
142
CDockablePane类可以用来创建停靠栏。可以将其他控件集成到CDockablePane的派生类中。下文描述如何将对话框集成到CDockablePane中。a) 创建单文档应用程序;b) 加入对话框资源,注意,对话框必须有Child属性,Border设置为Nonec) 为对话框创建类CDial...
分类:
其他好文 时间:
2014-12-11 00:00:49
阅读次数:
2224
屏蔽掉pane右上角的几个按钮即将CDockablePane右上角的三个按钮屏蔽。1 去掉关闭按钮在CDockablePane的派生类中,重写方法CanBeClosed即可: virtualBOOLCanBeClosed()const{returnFALSE;}禁止拖动Pane,禁止浮动在CDoc....
分类:
其他好文 时间:
2014-12-10 23:59:59
阅读次数:
1242
1、终结类与终结方法被final修饰符修饰的类和方法,终结类不能被继承,终结方法不能被当前类的子类重写终结类的特点:不能有派生类终结类存在的理由:安全: 黑客用来搅乱系统的一个手法是建立一个类的派生类,然后用他们的类代替原来的类设计: 你认为你的类是最好的或从概念上你的类不应该有任何派生类终结方法的...
分类:
编程语言 时间:
2014-12-10 19:37:17
阅读次数:
250
条款32:确定你的public继承塑模出is-a关系
以C++进行面向对象编程,最重要的一个规则是:public inheritance(公有继承)意味is-a(是一种)的关系。
在C++领域中,任何函数如果期望获得一个类型为基类的实参(而不管是传指针或是引用),都也愿意接受一个派生类对象(而不管是传指针或是引用)。(只对public继承才成立。)好的接口可以防止无效的代码通过编译,因此你应该...
分类:
编程语言 时间:
2014-12-10 16:23:32
阅读次数:
226
在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。一、Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况: 情况1:在基类中定义...
分类:
其他好文 时间:
2014-12-10 15:47:42
阅读次数:
165
封装:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法对隐藏信息进行操作 1.修改类的属性的可见性,通过private进行限制; 2.通过指定的方法对属性进行相应的操作继承:java中的继承是单继承,继承后具备父类(基类)的属性和方法,同时在子类(派生类)中可以重写父.....
分类:
编程语言 时间:
2014-12-10 12:25:13
阅读次数:
152
1. 设计一个Person类,它有两个派生类Student和Employee,Employee有两个派生类Faculty和Staff。?Person类有一个string类型的名字name,string型的身份号id,string型的电话号码phonenumber, Person类构造函数的对应nam...
分类:
编程语言 时间:
2014-12-10 00:29:30
阅读次数:
291
13.6 基类的析构函数为何要声明为virtual?解答:用对象指针来调用一个函数,有以下两种情况:如果是虚函数,会调用派生类中的版本。如果是非虚函数,会调用指针所指类型的实现版本。析构函数也会遵循以上两种情况,因为析构函数也是函数嘛,不要把它看得太特殊。 当对象出了作用域或是我们删除对象指针,析构...
分类:
编程语言 时间:
2014-12-10 00:28:26
阅读次数:
259
题目C++中名字隐藏是什么?解答让我们通过一个例子来讲解C++中的名字隐藏。在C++中,如果一个类里有一个重载的方法, 你用另一个类去继承它并重写(覆盖)那个方法。你必须重写所有的重载方法, 否则未被重写的方法会因为名字相同而被隐藏,从而使它在派生类中不可见。请看例子:class FirstClas...
分类:
编程语言 时间:
2014-12-10 00:26:47
阅读次数:
208