我有两个类(class)。
文件信息.cpp:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
class fileInfo{
private:
string fileName;
string fileType;
public:
/**
**/
fileInfo(string s){
fileName = s;
fileType = "hellooo";
}
string getName() {
return fileName;
}
};
主要.cpp
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char* argv[]){
fileInfo f("test");
std::cout << f.getName();
}
fileInfo 对象“f”未被初始化,我收到一条错误消息,指出 fileInfo 不在范围内。我正在使用 makefile 来编译我的代码,看起来像这样。
all: main.cpp fileInfo.cpp
g++ main.cpp fileInfo.cpp -o out
最佳答案
正确的做法是:
文件信息.h:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
class fileInfo{
private:
string fileName;
string fileType;
public:
fileInfo(string s);
string getName();
};
文件信息.cpp:
#include "fileInfo.h"
fileInfo::fileInfo(string s){
fileName = s;
fileType = "hellooo";
}
string fileInfo::getName() {
return fileName;
}
主要.cpp
#include <iostream>
#include <string>
#include "fileInfo.h"
using namespace std;
int main(int argc, char* argv[]){
fileInfo f("test");
std::cout << f.getName();
}
关于c++ - 如何在 main() C++ 中调用构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33930418/