文章目录
一、类的声明 与 类的实现 分开
1、类的声明 与 类的实现 常用用法
在之前的博客中 , 定义的 class 类 , 定义类时 同时 也完成了实现 ;
但是在 C++ 语言实际开发中 , 大部分的情况下 , 类的声明 与 类的实现 是分开的 , 这样可以使程序代码更清晰 , 易于管理 和 维护 ;
- 在 .h 后缀 的头文件 中写 类的声明 代码 ;
- 在 .cpp 后缀 的源码文件 中写 类的实现 代码 ;
上述 .h 后缀 的头文件 和 .cpp 后缀 的源码文件 , 可以手动创建添加 , 也可以使用 IDE 自带的创建类功能添加 ,
这里推荐后者 , 下面的章节讲解在 Visual Studio 2019 中创建类 的方法 ;
2、Visual Studio 2019 中创建类的头文件和源文件
右键点击 " 解决方案资源管理器 " 中的解决方案名称 , 在弹出的菜单中选择
" 添加 / 类 " 选项 ,
在弹出的 " 添加类 " 对话框中 , 输入 类名 Student , 就会自动生成 Student.h 和 Student.cpp 的 头文件 和 源码文件名称 ;
生成的 Student.h 头文件内容如下 : 在该头文件中 , 声明 Student 类 ;
#pragma once
class Student
{
};
生成的 Student.cpp 源码文件如下 : 在该源码文件中 实现类 ;
#include "Student.h"
3、Student.h 类头文件解析
#pragma once
代码的作用是 确保 该头文件 在 整个程序中 , 只能被 include 包含一次 ;
// 确保 该头文件 只包含一次
#pragma once
上述 #pragma once
代码与 下面的代码 实现的功能是相同的 , 在 C 语言中 , 只能使用宏定义的方式防止 include 二次包含 ;
#ifndef __Student_H_
#define __Student_H_
// 源码主要内容
#endif // !__Student_H_
在 C++ 中可以都使用 ;
生成的默认类只有一个类名 , 没有其它内容 ;
class Student
{
};
4、确保头文件包含一次
确保头文件包含一次的方法 :
- C++ 语言 : 在 C++ 语言中 , 既可以使用 #pragma once , 又可以使用 #ifndef _Student_H 的方式 , 确保头文件只被包含一次 ;
#pragma once
class Student
{
};
- C 语言 : C 语言中 , 使用 #ifndef _Student_H 的方式 , 确保头文件只被包含一次 ;
#ifndef __Student_H_
#define __Student_H_
class Student
{
};
#endif // !__Student_H_