虚函数——继承类中的参数

问题描述

我有一个基类“Type”和几个继承的类——“Type_A”、“Type_B”。我想让继承的类相互比较——Type_A 与另一个 Type_A 的对象相比较,与 Type_B 相同。问题是虚函数中的参数,因为在不同的继承类中,我传递了不同的参数,所以编译器认为它们是不同的函数。有什么好的方法可以解决这个问题吗?

class Type {
public:
virtual bool compare(const Type &other) = 0;
};

class Type_A : public Type {
string data;
public:
Type_A(string given_data) {
    data = given_data;
}
bool compare(const Type_A& other) override {
    return (data > other.data);
}
};

class Type_B : public Type {
public:
int data;
Type_B(string given_data) {
    data = stoi(given_data);
}
bool compare(const Type_B& other) override {
    return (data > other.data);
}
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)