C++类的简单了解

1.类成员的访问权限

  类的三个基本特征是:封装、继承、多态。
封装类,我们还应该考虑类成员的访问权限,所谓访问权限就是类外面的代码访问该类中成员的权限。再简单点就是类外面的代码能不能访问该类中的成员变量和成员方法。
  C++通过public、protected、private这三个关键字来控制成员变量和成员函数的访问权限。

private: 表示私有的,后面的成员都是私有的,外界不能直接访问。private关键字的作用在于更好地隐藏类的内部实现,该向外暴露的接口(能通过对象访问的成员)都声明为public,不希望外部知道、或者只在类内部使用的、或者对外部没有影响的成员,都建议声明为private。一般通过接口访问。
在这里插入图片描述

protected: 表示保护的,外界不能直接访问。
public: 表示公有的,类部外面的代码可以访问。

在这里插入图片描述

  在类的内部,即类的成员函数中,无论成员被声明为 public、protected 还是private,都是可以互相访问的,没有访问权限的限制。 这个就像一家人一样,一家人之间可以互相访问家人之间的房间。

但是外人不能,比如外人想要借我的一本书,他不能直接进入我的房间拿书,要我或者我的家人才能拿给他。

2.成员变量的命名

  成员变量大都以m_开头,这是约定成俗的写法,不是语法规定的内容。以m_开头既可以一眼看出这是成员变量,又可以和成员函数中的参数名字区分开。

在这里插入图片描述

3.构造函数

  它往往用来做一些初始化工作,对成员变量进行初始化等,注意,不能用memset对类进行初始化。

  构造函数具备以下特点:

1)构造函数必须是 public 属性。

2)构造函数没有返回值,因为没有变量来接收返回值,即使有也毫无用处,不管是声明还是定义,函数名前面都不能出现返回值类型,即使是void 也不允许。

3)构造函数可以有参数,允许重载。一个类可以有多个重载的构造函数,创建对象时根据传递的参数来判断调用哪一个构造函数。

4)在创建对象时自动执行(自动跳到构造函数执行)。例如在进行gdb调试时,把断点设置在构造函数那里,当程序运行到断点停下,按下“s”继续时,会跳到构造函数

把断点设在42行图
在这里插入图片描述

按下“s”继续时,自动跳到构造函数65行
在这里插入图片描述

4.析构函数

  在对象销毁时自动执行,用于进行清理工作(所以可以显式调用),例如释放分配的内存、关闭打开的文件等,这个用途非常重要,可以防止程序员犯错。

析构函数具备以下特点:

1)构造函数必须是 public 属性的。

2)构造函数没有返回值,因为没有变量来接收返回值,即使有也毫无用处,不管是声明还是定义,函数名前面都不能出现返回值类型,即使是void 也不允许。

3)析构函数不允许重载的。一个类只能有一个析构函数。

猜你喜欢

转载自blog.csdn.net/qq_43403759/article/details/113399022