如何解决如何从 C++ 头文件导出函数
我正在我的面向对象编程课程中完成一项作业。作业中的许多指令之一是采用教师的一些代码并将其分解为不同的模块/文件。说明如下:
joblist 模块由文件joblist.cpp 和joblist.hpp 组成,应该包含全局变量threshold 和jobs,以及函数firstJobMeetingThreshold、removeJob、addJob、hasJob 和getJob。但是,只有阈值变量和 addJob、hasJob 和 getJob 函数应该从此模块导出。其余的变量和函数作为辅助函数。
我的头文件中有以下代码:
#include <iostream>
#include <vector>
using namespace std;
int threshold;
vector<Job> jobs;
int firstJobMeetingThreshold();
void removeJob(int i);
void addJob(Job job);
bool hasJob();
Job getJob();
(Job 是另一个类的对象,不需要担心)
我对分配感到困惑的部分是如何导出特定功能以及如何制作其他助手。函数不应该移到另一个类或任何东西中,所以我要处理这个?
如果我的说明不清楚,我很抱歉,我会提供任何必要的说明。我对 OOP 很陌生,所以我仍在努力弄清很多这些概念。
解决方法
关于变量,你应该在它们的声明前添加 export
,对于你想与其他源文件共享的变量。特别是在您的情况下,您应该在头文件中
export int threshold;
为了限制函数作用域,你想引入命名空间吗?否则,您可以从头文件中删除辅助函数的声明。如果是后者,请确保在第一次需要调用它们之前在源文件中定义它们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。