一、类的声明 与 类的实现 分开




1、类的声明 与 类的实现 常用用法


在之前的博客中 , 定义的 class 类 , 定义类时 同时 也完成了实现 ;

但是在 C++ 语言实际开发中 , 大部分的情况下 , 类的声明 与 类的实现 是分开的 , 这样可以使程序代码更清晰 , 易于管理 和 维护 ;

  • 在 .h 后缀 的头文件 中写 类的声明 代码 ;
  • 在 .cpp 后缀 的源码文件 中写 类的实现 代码 ;

上述 .h 后缀 的头文件 和 .cpp 后缀 的源码文件 , 可以手动创建添加 , 也可以使用 IDE 自带的创建类功能添加 ,

这里推荐后者 , 下面的章节讲解在 Visual Studio 2019 中创建类 的方法 ;


2、Visual Studio 2019 中创建类的头文件和源文件


右键点击 " 解决方案资源管理器 " 中的解决方案名称 , 在弹出的菜单中选择

" 添加 / 类 " 选项 ,

【C++】类的声明 与 类的实现 分开 ① ( 类的声明 与 类的实现 常用用法 | Visual Studio 2019 中创建类的头文件和源文件 | 确保头文件包含一次 )-LMLPHP

在弹出的 " 添加类 " 对话框中 , 输入 类名 Student , 就会自动生成 Student.h 和 Student.cpp 的 头文件 和 源码文件名称 ;

【C++】类的声明 与 类的实现 分开 ① ( 类的声明 与 类的实现 常用用法 | Visual Studio 2019 中创建类的头文件和源文件 | 确保头文件包含一次 )-LMLPHP

生成的 Student.h 头文件内容如下 : 在该头文件中 , 声明 Student 类 ;

#pragma once
class Student
{
};

【C++】类的声明 与 类的实现 分开 ① ( 类的声明 与 类的实现 常用用法 | Visual Studio 2019 中创建类的头文件和源文件 | 确保头文件包含一次 )-LMLPHP

生成的 Student.cpp 源码文件如下 : 在该源码文件中 实现类 ;

#include "Student.h"

【C++】类的声明 与 类的实现 分开 ① ( 类的声明 与 类的实现 常用用法 | Visual Studio 2019 中创建类的头文件和源文件 | 确保头文件包含一次 )-LMLPHP


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_
09-10 05:53