关于OOP
博客地址:http://blog.csdn.net/cv_ronny 转载请注明出处!
1,继承可以是单一继承或多重继承,每一个继承连接可以是public、protected或private,也可以是virtual或non-virtual。
2,成员函数的各个选项:virtual或non-virtual或pure-virtual。
3,成员函数和其他语言特性的交互影响:...
分类:
编程语言 时间:
2014-06-05 08:38:28
阅读次数:
421
/*
*Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者:马广明
* 完成日期:2014 年 5 月 19 日
* 版 本 号:v1.0
* 问题描述:日期时间类
*/
#include
using namespace std;
class Date
{
public:
Date(...
分类:
其他好文 时间:
2014-06-05 02:02:18
阅读次数:
176
用于大型程序的工具--异常处理引言: C++语言包含的一些特征在问题比较复杂,非个人所能管理时最为有用。如:异常处理、命名空间和多重继承。 相对于小的程序员团队所能开发的系统需求而言,大规模编程[往往涉及数千万行代码]对程序设计语言的要求更高。大规模应用程序往往具有下列特殊要求: 1.更严格的正常运转时间以及更健壮的错误检测和错误处理。错误处理经常必须跨越独立开发的多个子系统进行[异常处理]。 2...
分类:
编程语言 时间:
2014-06-04 23:00:07
阅读次数:
403
一.定义
MSDN:接口包含类或结构可以实现相关一组功能的定义,在C#中使用interface定义接口。二.特点1.接口中可以包含的成员有四类:
索引器,属性,方法,事件.2.接口支持多重继承,换言之,一个类可以实现多个接口。3.接口不能被实例化。4.接口默认方法为public,不允许显式的指定方....
分类:
其他好文 时间:
2014-06-03 13:01:28
阅读次数:
164
Description长期的物种进化使两栖动物既能活跃在陆地上,又能游动于水中。利用虚基类建立一个类的多重继承,包括动物(animal,属性有体长,体重和性别),陆生动物(ter_animal,属性增加了奔跑速度),水生动物(aqu_animal,属性增加了游泳速度)和两栖动物(amp_animal...
分类:
其他好文 时间:
2014-06-02 19:47:45
阅读次数:
236
用于大型程序的工具--多重继承与虚继承[续2]七、特殊的初始化语义 从具有虚基类的类继承的类对初始化进行特殊处理:在虚基类中,由最低层派生类的构造函数初始化虚基类。在ZooAnimal示例中,使用常规规则将导致Bear 类和 Raccoon类都试图初始化Panda对象的ZooAnimal类部分。 虽然由最低层派生类初始化虚基类,但是任何直接或间接继承虚基类的类一般也必须为该基类提供自己的初始化式。...
分类:
编程语言 时间:
2014-06-01 16:18:16
阅读次数:
353
用于大型程序的工具--多重继承与虚继承引言: 大多数应用程序使用单个基类的公用继承,但是,在某些情况下,单继承是不够用的,因为可能无法为问题域建模,或者会对模型带来不必要的复杂性。 在这些情况下,多重继承可以更直接地为应用程序建模。多重继承是从多于一个直接基类派生类的能力,多重继承的派生类继承其所有父类的属性。一、多重继承1、定义多个类 为了支持多重继承,扩充派生列表:class Bear : p...
分类:
编程语言 时间:
2014-06-01 15:59:01
阅读次数:
393
用于大型程序的工具--多重继承与虚继承[续1]四、多重继承下的类作用域 成员函数中使用的名字和查找首先在函数本身进行,如果不能在本地找到名字,就继续在本类中查找,然后依次查找每个基类。在多重继承下,查找同时检察所有的基类继承子树 —— 在我们的例子中,并行查找 Endangered子树和Bear/ZooAnimal子树。如果在多个子树中找到该名字,则那个名字的使用必须显式指定使用哪个基类;否则,该...
分类:
编程语言 时间:
2014-06-01 14:44:35
阅读次数:
367
无虚继承的空类占一个字节,用于标记该类。有虚继承的空类至少占4个字节(可能继承的空类占很大空间)。对齐情况class X{float i;//8char
j;//1int k;//4double b;//下面重新的字节8,上面用来对齐};sizeof(X)=24class Y{char j;//1i...
分类:
其他好文 时间:
2014-06-01 11:46:35
阅读次数:
242
接口是实现多重继承的途径,而生成遵循某个接口的对象的典型方式就是工厂方法设计模式.
这与直接调用构造器不同,我们在工厂对象上调用的是创建方法,而该工厂对象将生成接口的某个实现的对象.
理论上,通过这方式,我们的代码将完全与接口的实现分离,这就使得我们可以透明的将某个实现替换为另一个实现.
下面的代码实例展示了工厂方法的结构:...
分类:
编程语言 时间:
2014-05-25 21:31:24
阅读次数:
321