我正在尝试实现多态,如下面的代码所示。我想要类表达式的表达式向量。这些表达式将具有Parameter类型的左右参数对象。正如可能已经猜到的那样,这可以递归,直到遇到一个字符串“a_string”或“an_id”。但是,编译器首先不知道向量的“表达式”类型。需要任何帮助。谢谢。
#ifndef PARAMETER_H
#define PARAMETER_H
#include <string>
#include <vector>
using namespace std;
class Parameter
{
private:
string a_string;
string an_id;
vector<Expression> expressions;
public:
Parameter(bool expr_stringID);
};
class Expression : public Parameter
{
private:
Parameter left_parameter;
Parameter right_parameter;
char op;
public:
};
#endif
答案 0 :(得分:2)
Poymorphism 要么需要virtual
个函数(至少需要一个virtual
析构函数),要么需要CRTP来实现Static Polymorphism。
您不能提供这些示例。