【《C++ Primer》读书笔记之第15章:面向对象编程】教程文章相关的互联网学习教程文章

C++基础教程面向对象(学习笔记(47))【代码】

继承和访问说明符 在本章前面的课程中,您已经了解了基本继承的工作原理。在我们到目前为止的所有示例中,我们都使用了公共继承。也就是说,我们的派生类公开继承基类。 在本课中,我们将详细介绍公共继承,以及另外两种继承(私有和受保护)。我们还将探索不同类型的继承如何与访问说明符交互以允许或限制对成员的访问。 到目前为止,您已经看到了私有和公共访问说明符,它们决定了谁可以访问类的成员。作为一个快速复习,公共成员...

C++ 面向对象版本通讯录

Person.h定义Person类对象,以及Person类的比较,赋值,和输出重载#pragma once#include<string> #include<ostream> using namespace std;class Person {friend ostream &operator<<(ostream &out, Person &person); // 输出运算符重载public:string name;string phone;Person & operator=(Person &person); // 赋值运算符重载bool operator==(Person &person); //...

C++基础教程面向对象(学习笔记(42))

综合测验 在本章中,我们了解了两个对象之间的一些不同类型的关系。 Summary 从较简单的对象构建复杂对象的过程称为对象组合。对象组合有两种类型:组合和聚合。 当类的成员与类具有部分关系时,就存在组合。在组合关系中,类管理成员的存在。要符合写作要求,对象和部件必须具有以下关系: 部件(成员)是对象(类)的一部分 部件(成员)一次只能属于一个对象(类) 部分(成员)的存在由对象(类)管理 部分(成员)不知道对象(...

C++基础教程面向对象(学习笔记(27))【代码】

重载下标运算符 使用数组时,我们通常使用下标运算符([])来索引数组的特定元素: myArray[0] = 7; // 将值7放在数组的第一个元素中但是,请考虑以下IntList类,该类具有作为数组的成员变量: class IntList { private:int m_list[10]; };int main() {IntList list;// 从m_list我们如何访问元素?return 0; }因为m_list成员变量是private,所以我们无法直接从变量列表中访问它。这意味着我们无法直接获取或设置m_list数组中的值。那...

c++面向对象的一些理解【代码】

面向对象编程时,我们必须抽象出一个共同的基类,让它含有一些基本的属性,这样我们可以方便扩展派生类,也减少用到switch和if这些语句。 比如说我们要用switch,来实现不同情况的分类,在c++中我们完全可以通过派生类来进行划分。 第一个方法通过虚函数来进行分类: #include <iostream> #include <string> using namespace std; class Fruit { public://函数我们一般先定义为publicFruit(){}~Fruit(){}virtual void Say(){cout ...

C++基础教程面向对象(学习笔记5(2))【代码】

非静态成员初始化 在编写具有多个构造函数的类(大多数构造函数)时,必须为每个构造函数中的所有成员指定默认值会导致冗余代码。如果更新成员的默认值,则需要触摸每个构造函数。 从C ++ 11开始,可以直接为普通类成员变量(不使用static关键字的变量)提供默认初始化值: class Rectangle { private:double m_length = 1.0; // m_length 的默认值是1.0double m_width = 1.0; // m_width 的默认值是1.0public:Rectangle(){//此构造...