<分区>
假设我有一个类似这样的程序
#include <iostream>
#include <algorithm>
class HelloWorlder
{
public:
HelloWorld();
~HelloWorld();
void print_content() {std::cout << "Hello, world!"};
};
class StringReverser
{
public:
Reverser();
~Reverser();
void reverse_and_print(std::string & s) {std::reverse(s.begin(), s.end()); std::cout << s;}
};
int main()
{
HelloWorlder HW;
HW.print_content();
StringReverser SR;
SR.reverse_and_print("Jon Skeet");
return 0;
}
然后我应该将它们分成文件 main.cpp
、HelloWorlder.h
、HelloWorlder.cpp
、StringReverser。 h
和 StringReverser.cpp
;还是只使用一个 main.cpp
、一个 .h
和一个 .cpp
?如果是前者,那么如果其中一个类使用另一个类,我该如何将文件链接在一起?例如,如果我将第二类更改为
class StringReverser
{
public:
Reverser();
~Reverser();
void reverse_and_print(std::string & s) {std::reverse(s.begin(), s.end()); std::cout << s;}
private:
HelloWorlder h;
}
那我是否必须做类似的事情
StringReverser.cpp
#include "StringReverser.h"
#include "HelloWorlder.h"
class StringReverser
{
public:
Reverser();
~Reverser();
void reverse_and_print(std::string & s) {std::reverse(s.begin(), s.end()); std::cout << s;}
private:
HelloWorlder h;
}
或者我还需要做其他事情吗?