【发布时间】:2019-11-23 12:37:11
【问题描述】:
我有下一节课:
#include "OutStream.h"
#include "FileStream.h"
class Logger
{
OutStream _os;
FileStream _fs;
bool _logToScreen;
static unsigned int _line;
public:
Logger(const char *filename, bool logToScreen);
~Logger();
void print(const char *msg);
};
OutStream 类有一个默认构造函数,但FileStream 类没有默认构造函数。
当我尝试为Logger 编写构造函数时,我收到一条错误消息,提示“类'FileStream' 不存在默认构造函数”
这是 Logger 构造函数的代码,我也在其中构造 _fs:
unsigned int Logger::_line = 0;
Logger::Logger(const char* filename, bool logToScreen)
{
// Opening the given file in the FileStream class
_fs = FileStream(filename);
// Declaring the value of _logToScreen
_logToScreen = logToScreen;
}
如何在将 _fs 保留在 Logger 中的同时解决此问题?
【问题讨论】:
标签: c++ class constructor