章节
问答
课签
笔记
评论
占位
占位

霸道总裁的员工:类

我们上一小节中介绍了面向对象的思想,这一小节开始,我们来具体看看在 C++ 中应该如何实现面向对象。

类,是 C++ 实现面向对象最基础的部分。类其实和之前学过的结构体十分相似,你可以认为类是结构体的升级版。之后的学习中你会更加理解类。现在,我们只简单的来介绍一下类。

类的申明

在 C++ 中,可以用下面的代码申明一个员工类:

class Staff
{

};

可以像使用结构体一样使用这个类:

#include <stdio.h>

class Staff
{

};

int main(int argc,char **argv)
{
    Staff st;
    return 0;
}

分文件编程

我们在此之前都是把代码放到一个文件里,但是这样在实际工程中肯定是不行的,我们不可能把所有的代码都写到一个文件夹里面。而在 C++ 中我们就常常把类定义到不同的文件里面,把每个类都独立起来,这样代码的耦合性就会降低,方便维护。

在 C++ 中,我们可以把一个类写到两个文件里面,一个是后缀为 .h 或者 .hpp 的头文件,一个是后缀为 .cpp 的实现文件。我们先在开发环境里新建一个类。输入类名是 Staff。

可以看到 VS 为我们创建类两个文件,Staff.h 和 Staff.cpp。Staff.h 文件为定义,Staff.cpp 为实现。

在分了文件之后,我们想要在 main 函数中引用这个类,就需要使用 #include “Staff.h” 将头文件引入进来。

实例化

在新建了一个类之后,我们就可以根据这个类产生对象了。根据类产生对象的过程叫做实例化。这个过程就像是公司招聘员工一样,幸运的是,我们作为程序的老板,并不需要和现实中一样去张贴招聘启示。在 C++ 中,“招聘“员工,只需要用以下的代码就可以了。

#include "Staff.h"

int main(int argc,char **argv)
{
    // 我们就这样实例化了三个员工
    Staff st1;
    Staff st2;
    Staff st3;

    return 0;
}

这样分配,我们将这三个“员工”分配到了栈上,同样的,可以把他们分配到堆内存上面去。

new delete

要将对象分配到堆上,需要用到另外两个关键字,new 和 delete。new 用来分配对象,delete 用来删除对象。new 会返回一个指针,在使用完毕后,要通过 delete 把这个指针指向的地址释放掉。

#include "Staff.h"

int main(int argc,char **argv)
{
    // 我们就这样实例化了三个员工
    Staff * st1 = new Staff();
    Staff * st2 = new Staff();
    Staff * st3 = new Staff();

    // 记得释放
    delete st1;
    delete st2;
    delete st3;

    return 0;
}

当然,我们现在这个类还什么都不能干呢,接下来的课程中,我们将逐步介绍类的功能。

任务

?不会了怎么办
||

提问题

写笔记

公开笔记
提交
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

举报

0/150
提交
取消
全部 精华 我要发布
全部 我要发布
最热 最新
只看我的

手记推荐

更多

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?