`

【c++ primer】第十章 对象和类

 
阅读更多

一,过程性编程和面向对象编程

1)采用过程性编程方法,首先考虑要遵循的步骤,然后考虑如何表示这些数据。

2) 采用面向对象编程,首先从用户角度考虑对象,描述对象所需要的数据,以及描述用户与数据交互所需要的操作。完成对接口的描述后,需要确定如何实现接口和数据存储,最后使用心得设计方案创建出程序。

二,抽象和类

1)类:将抽象转换为用户定义类型的C++工具,将数据表示和操纵数据的方法组合成一个整洁的包。

2)类包括:类声明:数据成员的方式描述数据部分,成员函数的方式描述公有接口

类方法定义:描述如何实现类成员函数

3)数据隐藏:将数据放在类的私有部分

封装:隐藏对象的属性和实现细节,仅对外开发公有接口

4)成员函数:定义时使用 :: 标识函数所属的类;可以访问类的private组件

void stock::buy(double price) // buy函数具有类作用域,其他成员函数不用:: 就可以访问

5)public:定义的函数或成员变量可以被任何方法访问

protect:只可以被本类中方法或派生类中的方法访问

private:只能被本类中方法访问

6)类例子:

7)使用类注意的地方:

1,构造函数和析构函数没有返回类型

2,一般程序不能直接访问数据成员,只能通过成员函数来访问数据成员

3,构造函数时候,不要将类成员名称用作构造函数的参数(m_value)

4,不能使用对象调用构造函数,因为构造函数构造出对象之前对象不存在

5,通常不应该在代码中显式调用析构函数,对象被删除后调用析构函数

三,this指针

this指针用来指向,调用该方法的对象。指向被调用函数所在的类实例的地址

每个成员函数都有一个this指针,指向调用对象

*this 表示对象本身

四,对象数组

默认构造函数(default constructor)就是在没有显式提供初始化式时调用的构造函数。它由不带参数的构造函数,或者为所有的形参提供默认实参的构造函数定义。如果定义某个类的变量时没有提供初始化式就会使用默认构造函数。

当程序创建没有被显式初始化的类对象时,总是调用默认构造函数。

接口:函数声明

类作用域:成员变量不能在声明中初始化


分享到:
评论

相关推荐

    c++primer plus第十章 代码

    《C++ Primer Plus》是C++编程领域里一本广受欢迎的教材,它的第十章主要讲解了C++中的类和对象,这是C++的核心概念之一。在这个章节中,你会接触到类的定义、对象的创建与使用、封装、继承、多态等关键知识点。现在...

    C++ primer 第四版 第十章 习题源码

    《C++ Primer 第四版》是C++编程领域的一本经典教材,它的第十章主要涵盖了类的高级特性,包括继承、多态、虚函数、模板等核心概念。这些习题源码是针对这一章节深入理解和实践的重要资源,适用于VC++6.0编译环境,...

    C++Primer(第4版)-课后习题答案.pdf

    10. 第十章关联容器:涵盖`std::set`、`std::map`、`std::multiset`、`std::multimap`等,它们基于键值对的存储方式及查找、插入和删除操作。 11. 第十一章泛型算法:介绍C++标准库中的算法,如排序、搜索、交换、...

    C++Primer 第四版课后习题解答(第1~18章完整答案)完整版

    第十章“关联容器”如std::set、std::map和std::multiset等,习题解答会涵盖这些容器的插入、查找、删除以及排序机制。 第十一章“泛型算法”讨论了C++标准库中的通用算法,如排序、查找、变换等。习题解答会涉及到...

    C++ primer plus课后编程练习题答案

    第十章引入了类和对象的概念,讲解了类的定义、类的使用、类的继承等,提供了相关的编程练习题和答案,帮助读者掌握类和对象的使用技巧。 第十一章继续深入讲解了类和对象的使用,包括类的多态、类的继承、类的组合...

    C++Primer第四版课后答案

    最后,第十章可能涉及到的是C++中的模板和STL(标准模板库)。模板是C++中的一个重要特性,允许我们编写泛型代码,实现代码复用。这一章的习题会让你理解函数模板和类模板的使用,学习如何创建和使用模板函数及模板...

    C++ primer 第四版第十章的 单词查询程序.rar

    《C++ Primer 第四版》是C++编程领域的一本经典教材,它的第十章主要讲解了I/O流和文件操作,以及如何处理文本数据。在这个章节中,作者介绍了如何设计一个单词查询程序,该程序可以从文本文件中读取单词,并进行...

    C++Primer中文版(第五版)习题答案

    "第十章:模板"将介绍函数模板和类模板,它们是C++的泛型编程基础。 "第十一章:异常处理"会讨论错误处理策略,使代码更加健壮。"第十二章:命名空间和链接"会涉及代码组织和库的使用。最后,"附录"通常会提供额外...

    C++Primer习题答案

    第十章 关联容器:介绍set、multiset、map和multimap等关联容器,它们通过键值对存储元素,并提供了快速查找和插入功能。 第十一章 泛型算法:介绍了std::algorithm库中的各种泛型算法,如排序、查找、拷贝和变换,...

    《C++Primer》(第四版)课后习题答案

    第十章关联容器则介绍了STL中的关联容器,如set、multiset、map、multimap等,这些容器能够存储键值对,并提供快速的数据检索能力。 第十一章泛型算法是C++标准库中的一组泛型函数,它们可以作用于STL容器中的元素...

    C++ Primer Plus(第六版) 7-18章 习题答案

    模板是C++的泛型编程工具,可以创建不依赖具体类型的函数和类。函数模板用于编写通用函数,而类模板则用于创建通用的类。模板参数推导和模板特化是这一章的重要概念。 第十五章:输入/输出流 C++的I/O流库提供了...

    C++ Primer 第四版课后习题答案

    第十章 关联容器:介绍std::set、std::map、std::unordered_set和std::unordered_map等关联容器,它们通过键值对实现数据的组织和查找。 第十一章 泛型算法:讲解STL提供的泛型算法,如排序(sort)、搜索(find)、...

    C++primer 习题解答(非扫描完整版)

    10. **第十章 关联容器**:介绍set、multiset、map和multimap,它们用于存储键值对,以及红黑树的原理和操作。 11. **第十一章 泛型算法**:讲解了C++标准库中的泛型算法,如排序、查找、变换等,以及算法的效率和...

    C++Primer课后习题解答完整版

    第十章 关联容器:涵盖了set、multiset、map和multimap,它们基于红黑树实现,提供了键值对的存储和查找功能。 第十一章 泛型算法:讲解了C++标准库中的泛型算法,如排序(sort)、查找(find)、交换(swap)等,...

    C++Primer课后习题解答(第1~18章完整答案)完整版

    《C++ Primer》是C++学习者的经典教材,其课后习题对于深入理解和掌握C++语言至关重要。以下是对前18章习题的详细解析和相关知识点的讲解。 **第一章 快速入门** 本章介绍了C++的基本概念,包括程序的结构、注释、...

    C++ Primer 第五版习题答案(代码类习题答案源码)

    4. **模板与泛型编程**:第十章至第十一章讲解了模板的使用,包括函数模板、类模板和模板特化。源码会展示如何使用模板来实现通用算法,提高代码复用性。 5. **STL(标准模板库)**:第十二章至第十三章介绍了C++的...

    <<C++Primer课后习题解答>>word版

    第十章 关联容器:讲解`std::set`、`std::map`等关联容器,重点是它们的查找效率和排序特性。习题将考察如何使用关联容器处理键值对。 第十一章 泛型算法:介绍`&lt;algorithm&gt;`库,如排序、查找、迭代器操作等。习题...

    c++ primer 习题

    第十章聚焦于继承,这是面向对象编程中的一个重要特性。你可能会遇到以下内容: 1. 单继承与多继承:学习如何从一个或多个基类派生子类。 2. 虚函数与抽象类:理解虚函数的概念,如何实现多态,以及抽象类的角色。 ...

Global site tag (gtag.js) - Google Analytics