当前位置: 首页 > 知识库问答 >
问题:

当将类文件分离为.h和.cpp文件时,我如何通过包含.h文件在主文件中定义它?

席俊达
2023-03-14

所以我实现了一个简单的测试类,这样我就把文件分成:compte.h:

#ifndef COMPTE_H
#define COMPTE_H
#include <iostream>
class compte
{
public:
    static int n;
    int numCompte;
    char* nom;
    double solde;
public:
    compte(const char* = NULL, const double & = 0);
    ~compte();
};

和compte.cpp

#include <iostream>
#include <cstring>
#include "compte.h"
using namespace std;

int compte::n = 1000;
    
compte::compte(const char* nom, const double &solde)
{
    this->solde = solde;
    this->nom = new char[strlen(nom)];
    strcpy(this->nom, nom);

    numCompte = n++;
}
compte::~compte()
{
    delete[] nom;
}

但是,当我包含compte.h时,我会得到一个对类的成员方法的未标识的引用,当我包含compte.cpp时,我只想知道我可以添加什么来包含.h文件,而不是.cpp

共有2个答案

公冶高义
2023-03-14

属性应该是私有的。我从未使用过 库,而是使用了 库。

韩良策
2023-03-14

头文件compte.h末尾缺少#endif

#ifndef COMPTE_H
#define COMPTE_H
#include <iostream>
class compte
{
public:
    static int n;
    int numCompte;
    char* nom;
    double solde;
public:
    compte(const char* = NULL, const double & = 0);
    ~compte();
};

#endif

这是一个主文件的示例,您可以使用它进行测试

#include "compte.h"
#include <memory>
using namespace std;

int main()
{
    unique_ptr<compte> account = make_unique<compte>("account", 100);
    cout << account->solde; 
}

编译并运行:

g++compte.h compte.cpp main.cpp-o main.exe

./main.exe

 类似资料:
  • 我正在尝试加入一些。txt。png和其他文件转换为我的jar文件。我在src文件夹下创建了一个名为“resources”的文件夹。从IDE运行程序时,程序可以正确找到所有文件。但是,只要我用代码创建一个jar文件,就找不到任何文件。当然,我使用了getClass()。getResource(…)。 有人能帮我吗?:/

  • 最近我一直在写插件,然后使用ServiceLoader加载。为了让ServiceLoader找到我的插件,必须在META-INF/services/下的jar中包含一个文本文件。文本文件必须以ServiceLoader正在“寻找”的接口命名,并且必须包含实现类的规范名称。所有这些都工作得非常好,但是这种方法有一个非常烦人的问题:每次构建项目时,我都必须手动将 /services/文件夹以及文本文件

  • 问题内容: 我知道在makefile中可以使用一个标志来在所有正在编译的文件中包括头文件,就像有-D标志来包括定义一样。什么标志正好包含头文件。我不记得了。 问题答案: 在编译命令中,可以使用以下选项:

  • 问题内容: 我正在尝试让一个库在我的c 项目中工作,并且对于不习惯c 的人没有明确的说明 以下链接是我最近来的 它指出以下 还有以下线程指出以下内容 现在从我可以看到的命令是+ ,例如我的文件名是,这是正确的,有人可以澄清一下吗 我目前正在使用以下命令来编译我的文件,但是想包含一个名为.so的文件,例如 问题答案: 现在从我所看到的命令,例如我的文件名是这将是 不,那是不正确的。应该是,即您用来将

  • 问题内容: 我记得前一段时间使用eclipse或netbeans时,我能够轻松地将源文件包含在jar文件中。我已移至intellij 10社区版,发现自己需要做同样的事情。有什么提示吗? 问题答案: 我想到了… 单击“输出布局”选项卡中的“ +”按钮->包含目录内容->选择您的src目录。做到了

  • Python版本:2.7.13 操作系统:Windows 因此,我正在编写一个脚本,根据文件名中包含文件夹名的要求,将各种名称的文件复制到特定文件夹中。(我对这一点相当陌生,只是想在工作中创建更高效的脚本——我查看了大量StackOverflow页面和web上的一些地方,但找不到与此特定任务相关的Python) 我已经将文件夹转换为一个字符串列表,我可以搜索文件名,但是当我将它们复制到上面时,它们