试图用对象

时间:2017-05-20 01:03:45

标签: c++ polymorphism

我正在尝试实现多态,如下面的代码所示。我想要类表达式的表达式向量。这些表达式将具有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

1 个答案:

答案 0 :(得分:2)

Poymorphism 要么需要virtual个函数(至少需要一个virtual析构函数),要么需要CRTP来实现Static Polymorphism

您不能提供这些示例。