- 浏览: 123886 次
- 性别:
- 来自: 武汉
-
文章分类
最新评论
头文件IntArrayRC中含有IntArrayRC 的定义,以及在类定义之外定义的全部内联成员
函数的定义。如果我们定义了非内联函数,则把它们放在IntArrayRC.C——这个相关联的程
序文本文件中
下面这个小程序实现了IntArray 与IntArrayRC 两个类的层次结构
#include <iostream>
#include <IntArray.h>
#include <IntArrayRC.h>
extern void swap(IntArray&,int,int);
int main()
{
int array[ 4 ] = { 0, 1, 2, 3 };
IntArray ia1( array, 4 );
IntArrayRC ia2( array, 4 );
// 错误一位偏移off-by-one 应该是size-1
// IntArray 对象捕捉不到这个错误
cout << "swap() with IntArray ia1\n";
swap( ia1, 1, ia1.size() );
// ok: IntArrayRC 对象可以捕捉到这样的错误
cout << "swap() with IntArrayRC ia2\n";
swap( ia2, 1, ia2.size() );
return 0;
}
编译并执行这个程序产生如下结果
swap() with IntArray ia1
swap() with IntArrayRC ia2
Assertion failed: index >= 0 && index < size
C++支持另外两种形式的继承:多继承(multiple inheritance 也译多重继承,也就是
一个类可以从两个或多个基类派生而来)以及虚拟继承(virtual inheritance)。在这种继承方
式下,基类的单个实例在多个派生类之间共享。第18 章将讨论这些内容,面向对象程序设计的
另一个较为深入的方面是在程序执行过程中,任意一个点上我们都能够查询某类的引用或
指针所指向的实际类型。这是由RTTI 运行时刻类型识别设施提供的。我们将在19.1 节
中讨论它。
发表评论
-
在ubuntu7.10用终端编译运行c++程序
2008-02-27 15:54 1031<script>function StorePag ... -
函数指针大全
2009-01-01 18:44 518<script>function StorePag ... -
问题的解决
2009-05-20 00:16 518<script>function StorePag ... -
1.2 C++程序
2009-05-20 23:16 592<script>function StorePag ... -
C++的预处理器指示符
2009-05-21 22:58 899<script>function StorePag ... -
1.4 注释
2009-05-23 00:05 560<script>function StorePag ... -
1.5 输入输出初步
2009-05-23 23:18 560<script>function StorePag ... -
2.3 基于对象的设计
2009-05-27 22:17 592<script>function StorePag ... -
基于对象的设计(2)
2009-05-28 23:48 509<script>function StorePag ... -
基于对象的设计(3)
2009-05-30 00:51 527<script>function StorePag ... -
基于对象的设计(4)
2009-05-31 02:07 628<script>function StorePag ... -
基于对象的设计(5)
2009-05-31 22:50 687<script>function StorePag ... -
面向对象的设计(1)
2009-06-02 01:44 609<script>function StorePag ... -
面向对象的设计(2)
2009-06-03 00:22 671<script>function StorePag ... -
面向对象的设计(3)
2009-06-03 22:51 608<script>function StorePag ... -
面向对象的设计(4)
2009-06-05 00:05 631<script>function StorePag ... -
泛型设计(1)
2009-06-07 00:28 613<script>function StorePag ... -
泛型设计(2)
2009-06-08 01:04 677<script>function StorePag ... -
泛型设计(3)
2009-06-09 01:14 604<script>function StorePag ... -
基于异常的设计(1)
2009-06-10 00:39 547异常exception 是指在运行时刻程序出现的反情形,例如数 ...
相关推荐
面向对象设计是一种软件设计方法,它强调对象之间的交互和协作,以达到软件系统的高内聚、低耦合的目标。在软件设计中,面向对象设计方法可以帮助开发者更好地理解系统的需求和行为,从而提高软件系统的质量和可维护...
### UML面向对象设计基础 #### 基本概念与符号表示 《UML面向对象设计基础》一书详细介绍了面向对象软件设计的基础知识,包括基本概念、符号表示、术语、准则和原理。面向对象设计是一种软件设计范式,强调通过对象...
面向对象设计(Object-Oriented Design,OOD)是一种软件开发方法,它基于“对象”的概念,将现实世界的问题域转化为计算机程序。UML(Unified Modeling Language)是面向对象设计的一种标准化建模语言,用于可视化...
面向对象设计理论是软件开发领域中的核心概念,它是一种基于现实世界中对象和它们之间交互的编程模型。这种设计方法论极大地提高了代码的可维护性、可扩展性和重用性。下面将详细阐述面向对象设计的基本概念、原则...
面向对象设计模式是软件开发中的一种重要思想,它通过总结和提炼在软件设计过程中常见的问题和解决方案,形成了可复用的设计规范。标题提到的“23种面向对象设计模式”涵盖了设计模式的主要分类,这些模式在Java、...
"面向对象程序设计—图书管理系统设计" 面向对象程序设计是当前软件开发的主流技术之一,其应用范围非常广泛,涵盖了各个行业和领域。图书管理系统是图书馆中的一种重要管理系统,它负责管理图书的存储、借阅、归还...
面向对象设计是在分析的基础上进行的,它关注于如何将需求转化为软件系统的内部结构。设计阶段的输出通常包括更详细的类图、活动图、序列图、状态图和组件图等UML模型。设计过程还会确定系统组件的接口和协作方式。 ...
《面向对象设计原理与模式(Java版)》全面介绍了Java面向对象程序设计的原理和模式,帮助解决Java程序中的设计问题。此外,该书十分注重Java面向对象程序设计的每个细节,以及继承、方法、类、设计模式等在程序设计...
4. 继承:继承是面向对象设计中的一个核心机制,它允许创建一个新类来继承现有类的属性和方法。这使得软件设计可以复用和扩展。 5. UML(统一建模语言):UML是一种标准的图形化建模语言,用于软件系统的设计和文档...
面向对象程序设计 c++面向对象程序设计 c++面向对象程序设计
《面向对象程序设计:C++语言描述(原书第2版)》内容丰富,结构合理,写作风格严谨,深刻地论述了c++语言的面向对象编程的各种技术,主要内容包括:面向对象编程方法、c++语言的各种特性、stl、c++输入/输出流、mfc等。...
面向对象设计之3_基于UML的图书管理系统的分析与设计说明 本资源摘要信息主要介绍面向对象设计和UML(Unified Modeling Language)在图书管理系统中的应用。面向对象设计是一种程序设计方法,强调使用对象、类、...
面向对象设计模式是软件开发中的重要工具,它们是经过时间考验和广泛实践验证的设计解决方案,旨在提高代码的可重用性、灵活性和可维护性。C#作为一款强大的面向对象编程语言,为开发者提供了实现这些设计模式的良好...
Java面向对象程序设计是编程领域中的重要主题,尤其在企业级应用开发中占据主导地位。本教程涵盖了这一关键概念,旨在帮助学习者深入理解和掌握Java的面向对象特性。以下是相关知识点的详细说明: 1. **面向对象...
面向对象程序设计课程设计题目 面向对象程序设计课程设计是一门旨在提高学生实际分析问题、编程和动手能力的课程设计。课程设计旨在引导学生学习掌握面向对象思想和 Java 编程语言,熟练运用 Java 工具,通过课程...
详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。本书使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了...