所以我实现了一个简单的测试类,这样我就把文件分成: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
头文件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
属性应该是私有的。我从未使用过
库,而是使用了
库。