码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【C++】类的声明 与 类的实现 分开 ① ( 类的声明 与 类的实现 常用用法 | Visual Studio 2019 中创建类的头文件和源文件 | 确保头文件包含一次 )


    文章目录

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





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




    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
    {
    };
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

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

    #include "Student.h"
    
    • 1

    在这里插入图片描述


    3、Student.h 类头文件解析


    #pragma once 代码的作用是 确保 该头文件 在 整个程序中 , 只能被 include 包含一次 ;

    // 确保 该头文件 只包含一次
    #pragma once
    
    • 1
    • 2

    上述 #pragma once 代码与 下面的代码 实现的功能是相同的 , 在 C 语言中 , 只能使用宏定义的方式防止 include 二次包含 ;

    #ifndef __Student_H_
    #define __Student_H_
    
    // 源码主要内容
    
    #endif // !__Student_H_
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在 C++ 中可以都使用 ;


    生成的默认类只有一个类名 , 没有其它内容 ;

    class Student
    {
    };
    
    • 1
    • 2
    • 3

    4、确保头文件包含一次


    确保头文件包含一次的方法 :

    • C++ 语言 : 在 C++ 语言中 , 既可以使用 #pragma once , 又可以使用 #ifndef _Student_H 的方式 , 确保头文件只被包含一次 ;
    #pragma once
    class Student
    {
    };
    
    • 1
    • 2
    • 3
    • 4
    • C 语言 : C 语言中 , 使用 #ifndef _Student_H 的方式 , 确保头文件只被包含一次 ;
    #ifndef __Student_H_
    #define __Student_H_
    
    class Student
    {
    };
    
    #endif // !__Student_H_
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    React Hooks批量更新问题
    uni-app 微信小程序 支付宝小程序(alipay) 百度小程序(baidu),预览pdf(链接和base64) 及下载(仅微信)
    《实战》基于情感词典的文本情感分析与LDA主题分析
    Gismo compile note
    2023牛客暑期多校训练营7 CI「位运算」「根号分治+容斥」
    产线工控安全有什么好的解决方案
    字节跳动八进八出,offer到手,发现项目不重要算法才最重要
    XML 中转义的特殊字符
    C++初始
    Python中列表生成器的使用
  • 原文地址:https://blog.csdn.net/han1202012/article/details/132781612
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号