目录

  • 一、前言
  • 二、新建project
  • 三、新建类声明头文件
  • 四、新建包含类成员函数的定义文件
  • 五、编写主文件
  • 六、执行

一、前言

没想到之前随手写的codeblocks下建立多个源文件竟然有这么多的浏览量。

那我干脆在出一个2.0版本,刚好涉及到C++中类的相关知识。

才发现我的文章被转载却没有标注我的ID,所以我手动给文章加了水印哈哈哈/狗头

二、新建project

老样子,先建立一个新project

默认之后如下图

三、新建类声明头文件

以经典学生类研究对象为例子
在该project下新建一个.h头文件

还是在相同project下建立

在student.h头文件下编写我们想设置学生类的各种参数

///student.h
#include <string.h>
using namespace std;class Student
{private:///私有类型string name; ///学生姓名int age;     ///学生年龄char sex;        ///学生性别
public:///公有类型void Display();///展示学生的信息void SetStu(string name1,int num1,char sex1);///为学生信息设置初始值
};
///ac不知深原创

如图展示

当然public 里的函数可以写在类里面,也可以像我接下来的步骤一样写到单独的一个cpp文件中进行封装。个人比较建议把函数扩展单独写进一个cpp文件中,便于后期维护。也体现出了程序猿写代码的长期性。

四、新建包含类成员函数的定义文件

新建一个cpp文件用来封装成员函数的扩展。

编写student类中public成员函数的扩展

///student.cpp
#include <iostream>
#include "student.h"using namespace std;void Student::Display()///打印学生信息
{cout << "name = " << name << endl;cout << "age = " << age << endl;cout << "sex = " << sex << endl;
}
///ac不知深原创
void Student::SetStu(string name1,int age1,char sex1)///对应姓名,年龄,性别信息传递至private内
{name = name1;age = age1;sex = sex1;
}

五、编写主文件

我们新建一个projection时就会自带一个main.cpp文件

所以直接在main.cpp中编写

///main.cpp
#include <iostream>
#include "student.cpp" ///引用student.h头文件using namespace std;int main()
{Student stu;///新建一个学生对象stu.SetStu("ac不知深",22,'F');///设置初始对象信息stu.Display();///展示return 0;
}

最终文件排序如下图

六、执行

结果正确没有问题。

[codeblocks下实现多个源文件2.0]类声明和成员函数定义的分离实战操作实现相关推荐

  1. 习题 8.4 在本章第8.3.3节中分别给出了包含类定义的头文件student.h,包含成员函数定义的源文件student.cpp以及包含主函数的源文件main.cpp。请完善该程序,在类中增加。。。

    C++程序设计(第三版) 谭浩强 习题8.4 个人设计 习题 8.4 在本章第8.3.3节中分别给出了包含类定义的头文件student.h,包含成员函数定义的源文件student.cpp以及包含主函数 ...

  2. 习题 8.5 将本章的例8.4改写为一个多文件的程序:1.将类定义放在头文件arraymax.h中;2.将成员函数定义放在源文件arraymax.cpp中;3.主函数放在源文件file1.cpp中。

    C++程序设计(第三版) 谭浩强 习题8.5 个人设计 习题 8.5 将本章的例8.4改写为一个多文件的程序: 1.将类定义放在头文件arraymax.h中: 2.将成员函数定义放在源文件arraym ...

  3. 在CodeBlocks下配置GoogleTest单元测试框架

    环境准备 Windows 10 Code::Blocks 20.03 Google Test 1.7.0 CMake 3.11.0 编译GoogleTest 一.创建一个工作目录D:\gtest,将刚 ...

  4. 解决.NET 4.0下无法直接运行.NET 2.0程序的问题

    如果你在使用vs2010的.net4.0运行不了.net2.0项目的话,可以来看看本文. 由于 .NET 4.0 使用新版本的 CLR,变化也不少, 例如: mscoree.dll 变为 mscore ...

  5. Linux下安装二进制版mysql-8.0.15

    1.添加用户 ## 添加用户组 groupadd mysql ## 添加用户,指定用户home目录 useradd -g mysql mysql -d /data/mysql ## 解压下载的mysq ...

  6. 【 Linux 】创建一个文件夹并在此文件下创建一个c源文件

    我们需要单独创建一个文件夹来存放自己的文件,例如存放使用vim编写的c源文件,或者一个工程内的所有东西. 我们以在Linux下的home文件夹下创建一个vim文件夹,然后在此文件夹下创建一个c源文件, ...

  7. win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置

    原文:win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置 一.说明 以前配置apache+php+mysql都是参考网上的,一般都没有什么问题.最近公司有个 ...

  8. TURBOLinux 7.0下安装Oracle 8.1.7.0.1 release 3

    作者:shiley 时间:2002-5-20 ----------------------------------------------------------------------------- ...

  9. [转]解决Windows 7下Windows Live Messenger(MSN) 9.0在一直停靠任务栏而不在系统栏显示的问题...

    解决Windows 7下Windows Live Messenger(MSN) 9.0在一直停靠任务栏而不在系统栏显示的问题 用上Windows 7后,MSN一直停靠任务栏而不在系统栏显示,关闭窗口就 ...

  10. linux18.2安装界面,Ubuntu 18.10下安装Grub Customizer 5.1.0配置grub2图形化界面

    配置Grub2/burg引导装载程序Grub Customizer 5.1.0新增加对Ubuntu 18.10的支持,我们可以用PPA源来安装,同时还支持Ubuntu 18.04.16.04.14.0 ...

最新文章

  1. R语言数据包自带数据集之ISwR包的melanom数据集字段解释、数据导入实战
  2. 技术文章是怎样炼成的?
  3. 009_Spring Data JPA一对一关系
  4. Transition 实现轮播图
  5. Linux动态库的导出控制
  6. ​inotify+rsync实时数据同步实践讲解17
  7. r读取shape文件可视化_使用Python对大脑成像数据进行可视化分析
  8. 应用10秒部署、成本降低50% 阿里云serverless容器改写云计算极限
  9. VS2010调试窗口一闪而过解决方法
  10. 打开前端网页,使用npm run dev报错npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! gmall-admin@1.0.0 dev
  11. Reinforcement Learning(001)
  12. python数学竞赛名次_如何让孩子在数学竞赛中取得好名次
  13. win7下如何快速打开便笺或便签实用小工具
  14. vue 针试打印机实现
  15. OPencv 灰度直方图、直方图规定化
  16. 永久且免费的CRM系统排行
  17. 【FPGA】DS18B20温度显示
  18. 微信PC版多开的方法
  19. 计算机系统基础实验2——bomb
  20. Win11预装软件怎么卸载?Win11如何精简预装应用程序

热门文章

  1. 【SpringBoot_ANNOTATIONS】 总集篇
  2. 电大计算机网考辅导,【电大复习资料小抄】2016年12月份电大统考计算机考前辅导电子表格 电大考试必备小抄.doc...
  3. java7 rhino,rhino1.7.7.1
  4. 为什么以太网有最短帧长度的要求_线束工程师:车载以太网介绍
  5. layui框架简单解读,为什么要使用layui框架,layui框架的好处,后端程序员快速学习掌握layui框架技术型文档博文,layui学习笔记,快速掌握前端技术框架
  6. Mybatis的简单介绍,什么是Mybatis框架
  7. Java集合的所有知识点详解,偏通俗易懂,集合笔记
  8. 基于共享内存和多重哈希实现分布式缓存系统
  9. eclipse alt+/ 无效时,如何设置 《转》
  10. Screen Orientation for Windows Phone