继承和动态绑定与数据抽象一起成为面向对象编程的基础. 模板使我们能够编写独立于具体类型的泛型类和泛型函数. 第15章 面向对象编程 面向对象编程基于三个基本概念:数据抽象.继承和动态绑定.在C++中,用类进行数据抽象,用派生类从一个类继承另一个类:派生类继承基类的成员.动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数. 继承和动态绑定在两个方面简化了我们的程序:能够容易地定义与其他类相似但又不相同的新类,能够更容易地编写忽略这些相似类型之间区别的程序. 面向对象编程的…
C++Primer第5版学习笔记(四) 第六章的重难点内容         你可以点击这里回顾第四/五章的内容       第六章是和函数有关的知识,函数就是命名了的代码块,可以处理不同的情况,本章内容包括:         1.函数的概念基础,包括函数的定义声明以及函数如何生成值和返回结果.       2.函数重载,重载可以使函数接受不同种类或者数量不同的参数.       3.函数指针,指向函数的一类特殊指针.         下面是这一章的知识点:              知识点1:P…
C++Primer第5版学习笔记(三) 第四/五章的重难点内容           你可以点击这里回顾第三章内容       因为第五章的内容比较少,因此和第四章的笔记内容合并.       第四章是和表达式有关的知识,表达式是C++的基础设施,本章由三部分组成:         1.表达式概念基础,包括表达式的基本概念,左值和右值的概念,优先级结合律,求值顺序.       2.各种运算符,主要包括算数\关系\逻辑\赋值\递增递减\成员访问\条件\位运算\sizeof\逗号运算符 这10种运算…
C++Primer第5版学习笔记(二) 第三章的重难点内容         这篇笔记记录了我在学习C++常用基本语法的学习过程,基本只记录一些重难点,对概念的描述不是一开始就详尽和准确的,而是层层深入的.第三章主要讲这么五个概念:       1.using声明,我知道挺多同学写代码练手都要在源文件前几句直接加using namespace std;然而using语句并不是什么情况都这么使用的,稍后我们将会看到详细的用法.  2.标准库类型string,和C味的字符数组有区别的string,到底…
C++Primer第5版学习笔记(一) 第一.二章的重难点内容        这个笔记本主要记录了我在学习C++Primer(第5版,中文版)的过程中遇到的重难点及其分析.因为第一.二章都比较简单,因此这里合并这两章我遇到的问题.        第一章 开始        这一章在第一部分之前,是一个helloworld式的章节,包含基本的函数,io流以及类的介绍.依靠这一章的内容可以创建第一个完整可被编译的cpp文件.        知识点1:P19,1.5,文件重定向(英文版22页) 可以在…
一.面向对象编程的含义 *   是一种模块化编程方法,使代码的重用性大大的增加. *   oop技术使得项目的设计阶段需要的精力大大的增加,但是一旦对某种类型的数据表达方式达成一致,这种表达方式就可以沿用下去,直到这款应用的生命周期结束. 1.对象就是OOP应用程序的一个组成部分,这个组成部件封装了部分应用程序,这部分程序可以是一个过程.一些数据或一些更抽象的实体.对象的类型在OOP中有个特殊的名称叫做类.可以使用类来定义一个对象. PS:术语“类”和“对象”常常被混淆,但简单的来讲就是,类是模…
<C++ Primer>Learning Note 程序实例下载地址:http://www.informit.com/title/0321714113 第一章            开始 本章介绍C++的大部分基础内容:类型.变量.表达式.语句及函数.在这个过程中,我们会简要介绍如何编译及运行程序,以期指导读者具备编写.编译及运行简单程序的能力. 1.关于main(): 每个C++程序包含一个或多个函数,其中一个必须命名为main,操作系统通过调用main来运行C++程序.main函数的返回类…
第17章  用于大型程序的工具 异常处理 不存在数组或函数类型的异常.相反,如果抛出一个数组,被抛出的对象转换为指向数组首元素的指针,类似地,如果抛出一个函数,函数被转换为指向该函数的指针. 不要抛出指针 析构函数不要抛出异常 除下面几种可能的区别之外,异常的类型与 catch 说明符的类型必须完全匹配: •     允许从非 const 到 const 的转换.也就是说,非 const 对象的 throw 可以与指定接受 const 引用的 catch 匹配. •     允许从派生类型型到基…
第15章 面向对象编程OOP(Object-oriented programming)           面向对象编程基于三个基本概念:数据抽象.继承和动态绑定.      在 C++ 中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员.动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义 的函数. private  成员 •  通过类对象无法访问类的private成员. •  在派生类中不能访问基类的private成员.  •  private 成员只能…
第12章 类       每个类可以没有成员,也可以定义多个成员,成员可以是数据.函数或类型别名. 成员函数必须在类内部声明,可以在类内部定义,也可以在类外部定义.如果在类内部定义,就默认是内联函数. 内联函数有三种:(1)直接在类内部定义. (2)在类内部声明,加上inline关键字,在类外部定义. (3)在类内部声明,在类外部定义,同时加上inline关键字.注意:此种情况下,内联函数的定义通常应该放在类定义的同一头文件中,而不是在源文件中.这是为了保证内联函数的定义在调用该函数的每个源文件…