摘要:
第十六章 模板与泛型编程 面向对象编程和泛型编程都能处理在编写程序时不知道类型的情况。 OOP能处理类型在程序允许之前都未知的情况。 泛型编程在编译时就可以获知类型。 一、定义模板 模板:模板是泛型编程的基础。一个模板就是一个创建类或函数的蓝图或者公式。 1. 函数模板 一个函模板就是一个公式,可用 阅读全文
摘要:
第十五章 面向对象程序设计 一、OOP:概述 面向对象程序设计(OOP)的核心思想是数据抽象、继承和动态绑定。 通过使用数据抽象,可以将类的接口和实现分离。 使用继承,可以定义相似的类型并对其相似关系建模。 使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。 继承(in 阅读全文
摘要:
第十四章 重载运算与类型转换 一、基本概念 重载运算符是具有特殊名字的函数:由关键字operator和其后要定义的运算符号共同组成。也包含返回类型、参数列表以及函数体。 当一个重载的运算符是成员函数时,this绑定到左侧运算对象。动态运算符符函数的参数数量比运算对象的数量少一个。 对于一个运算符函数 阅读全文
摘要:
第十三章 拷贝控制 定义一个类时,需要显式或隐式地指定在此类型地对象拷贝、移动、赋值和销毁时做什么。 一个类通过定义五种特殊的成员函数来控制这些操作。即拷贝构造函数(copy constructor)、拷贝赋值运算符(copy-assignment operator)、移动构造函数(move con 阅读全文
摘要:
第十二章 动态内存 目前为止,所使用的对象都有着严格定义的生存期。 全局对象在程序启动时分配,在程序结束时销毁。局部自动对象在进入其定义所在的程序块时被创建,在离开块时销毁。局部static对象在第一次使用前分配,在程序结束时销毁。 标准库定义了两个智能指针类型来管理动态分配的对象,当一个对象应该被 阅读全文