既然初学C++,或许经常耳闻到一个常用的关键字眼,类。
那么,什么是类?
类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。类是一种用户定义的引用数据类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。
对比如下:
int a;
Father father;
对于int数据类型大家或许不陌生,可Father这种类型,可能有人会带有疑问。
事实上,小编的目的就是为了对比,告知:Father就是一个类类型,father就是一个对象(实例化)。其实都大相径庭,只是微软大牛将其重新定义过,一种新的知识体系。
这就是类的特殊性,若说指针知识是您在往后学习中的深浅度,那么类的使用就是您在往后学习中的宽窄度。
这就说明,类的使用很重要!也是常用的知识之一。
我们看它如何创建,需要熟练运用您目前所用的编译器。
因为小编使用的是Visual Studio 2019,就以此为例:
进入创建类的页面:
生成如下文件:
Father.h:
Father.cpp:
既然一切就绪,就逐步对类进行使用。
创建一个类文件后,就可以如同调用头文件那般,将其调用,如下:
主函数入口(类的使用.cpp):
#include <iostream> //C++标准库,输入、输出
#include "Father.h" //自定义class 类头文件
using namespace std; //使用std命名空间[所有的std::]
当然,因为还没有写一些函数和属性变量,它什么都做不了。但我们已经可以将Father这个类型声明并创建对象了。
那么,问题来了,这底层结构是如何实现这个功能的呢?
那是因为编译器本身就已经为我们实现了一个默认的构造函数等一系列机制…因此,我们直接可以声明并创建或者叫实例化对象。
或许有人会问:什么是构造函数?
构造函数:是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
当然了,光从文字来理解,很难体会到它的强大之处,更能让人充满疑惑,我们实例讲解,如下:
首先,理解类中(函数、变量)的三种权限:
class Father
{
//公共的行为或者属性(变量)
public:
//受保护的行为或者属性(变量)
protected:
//私有的行为或者属性(变量)
private:
};
具体有什么用处,我们后面讲解。
其次,理解类如何声明定义(函数、变量):
Father.h:
class Father
{
//公共的行为或者属性(变量)
public:
void work(); //实现功能,工作领域
int paly(); //实现功能,娱乐方式
//受保护的行为或者属性(变量)
protected:
//私有的行为胡总和属性(变量)
private:
};
Father.cpp:
#include "Father.h"
//实现功能,工作领域
void Father::work()
{
}
//实现功能,娱乐方式
int Father::paly()
{
}
最后,理解类的使用,如何调用这些功能函数(行为):
主入口函数(类的使用.cpp):
int main()
{
Father father;
father.work();
father.paly();
system("pause");
return 0;
}
可能大家会有种耳目一新的感觉,这难道就是类的使用?
答案显而易见,当然不是,它的作用以及强大之处,可不仅仅于此,这章知识只是初识类的使用,函数声明、定义、调用。
条条代码铸前程,行行字母显乾坤。你的路上不孤单,一路陪行。