C++ Integer, Binary and Decimal classes

C++ Integer, Binary and Decimal classes

本文关键字:Decimal classes and Binary Integer C++      更新时间:2023-10-16

在大学里,我的任务是用c++设计和实现三个类:Integer(作为抽象)、Binary和Decimal,用数组作为数字存储and Integer应该包含虚拟算术运算方法。

所以我对最后一点有一些误解。。。方法应该有什么签名,以及如何在子类中定义它们?

这不是一项容易的任务,因为它是算术运算二进制运算符,并且是虚拟方法——一种单一的调度机制。

事实上,问题的优雅解决方案应该需要多方法,而不是C++中的原生方法。

作为一个提示,让我给你一个关于加法的想法:看看C++的双重调度和访问者模式。

class Integer {
  public:
    virtual void Add(Integer &B) { } = 0; // Adds B to the current value, etc..
}
class Decimal : public Integer {
  public:
    void Add(Decimal &B) { /* do sth */ }
}
int main(void) {
  Integer *a = new Decimal();
  Integer *b = new Decimal();
  a->Add(b);
}