【C++】类的声明 与 类的实现 分开 ① ( 类的声明 与 类的实现 常用用法 | Visual Studio 2019 中创建类的头文件和源文件 | 确保头文件包含一次 )
  K1I6GvxBEuyy 2023年11月02日 96 0



文章目录

  • 一、类的声明 与 类的实现 分开
  • 1、类的声明 与 类的实现 常用用法
  • 2、Visual Studio 2019 中创建类的头文件和源文件
  • 3、Student.h 类头文件解析
  • 4、确保头文件包含一次







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




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



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

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

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


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

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



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



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

" 添加 / 类 " 选项 ,

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

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

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

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

#pragma once
class Student
{
};

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

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

#include "Student.h"

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



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_


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
K1I6GvxBEuyy
作者其他文章 更多