C++ 类&&对象 小白入门

355 阅读3分钟

简述

在C语言的基础上,C++增加了面对对象编程。

在下文中,暂且认为类是一个箱子,而对象则是各种形状的箱子。

很容易发现,类是对象的集合。

类是C++的核心特性,可以认为是一种用户定义的数据类型。

对象根据类来创建。

声明类的对象,就像声明基本类型的变量。

对象的两大核心要素:属性与行为。

箱子有长度,宽度和高度等等。这些是属性。

而箱子可以完成一系列行为,比如装东西等等。这些是行为。

行为是建立在对象具有诸多属性的基础上。

在C++中,属性是对象的一系列数据,而行为则是函数。

我们通过调用成员函数来操作与该对象相关的数据。

可能此刻的你很困惑,没关系,结合下面的讲解进行理解。

本文代码

图片.png

类的定义

同样以箱子为类进行研究。

图片.png

我们可以看到,类的主体包含了变量和函数。

而函数只是声明了而已,并未定义。

我们暂且知道类可以这样定义即可。

成员函数的两种定义方式

第一种 成员函数定义在类定义的内部

图片.png

第二种 成员函数定义在类定义的外部

此时需要使用范围解析运算符定义该函数

图片.png

对象成员的访问

成员访问运算符是一个英文的句号,也就是一个点号。

通过成员访问运算符可以访问类的对象的成员。

这一点类似于结构体对成员变量的访问。

图片.png

类访问修饰符

数据封装是面对对象编程的一个重要特点,防止函数直接访问类的内部成员。

关键字public,private,protected称为访问修饰符。

一个类可以有多个public,private或protected的标记区域。

类成员的默认访问修饰符是private。

图片.png

公有(public)成员

在类的外部,我们可以访问公有成员,而不需要使用任何成员函数来设置和获取公有变量的值。

图片.png

私有(private)成员

私有成员变量或私有成员函数在类的外部是不可以被访问的。

实际操作中,我们一般会在私有区域定义数据,在公有区域声明或定义函数,以便在类的外部也可以使用成员函数。

受保护(protected)成员

受保护的成员变量或成员函数与私有成员的变量或函数十分相似

但是,受保护的成员在派生类中是可以被访问的

派生类是子类,暂且知道这么多,后面会细说

阅读下面的代码,也许你会有所了解

图片.png

继承

继承的方式有public,private,protected三种

基类成员的访问属性会决定派生类对其的访问属性

图片.png

可以理解为访问权限 public > protected > private

我们始终需要记住的是:

private 成员只能被基类成员和友元访问,不能被派生类访问

protect成员可以被派生类访问