让我们说我有一个抽象类,其主要目的是存储一个数字向量,称为NumberVector。然后,我有两个继承NumberVector的类,它们被称为SortableNumberVector和SearchableNumberVector。现在,我想创建一个结合了这两个的适配器类,并创建一个名为SortableSearchableNumberVector的类,它继承了这两个类。我希望最后一个类从继承的类中调用函数,但仍然保留它自己的数据。以下是我如何解决的问题:
class SortableSearchableNumberVector : public SearchableNumberVector, public SortableNumberVector
{
protected:
vector<int> numbers;
int selectedNumber;
public:
void selectNumber(int index)
{ SearchableNumberVector::setSelected(index); }
void sortNumbers()
{ SearchableNumberVector::sort(); }
}
当我运行它时,两个类变量保持不变。造成这种情况的原因是什么?