【发布时间】:2015-07-13 00:27:07
【问题描述】:
我正在尝试解决这个问题 - 我有一个基类:
class Original {
private:
string inputPath;
string outputPath;
public:
void takeInput(string path);
void putOutput(string input, string output);
virtual void doFilter(ifstream &in, ofstream &out) = 0;
virtual char transform(char a) = 0;
};
还有一个实现它的类:
class Transform : public Original {
public:
char transform(char a);
};
但是当我尝试在 main 中使用 Transform 类时,就像
Transform t;
Original *org = *t;
它给了我一个错误
Variable type 'Transform' is an abstract class.
我在 Transform::transform 中实现了一些东西,现在完全迷失了。 如何初始化 Transform 类?
【问题讨论】:
-
你也想写
Original *org = &t;
标签: c++ inheritance abstract-class pure-virtual