我有一个基类Fraction和一个派生类iFraction。分数代表不合适的分数,iFraction代表混合的分数。

class Fraction {...};
class iFraction : public Fraction {...};

现在,我想声明这两个类的 friend 函数,即convertF。函数convertF可以将不正确的分数(分数)转换为混合分数(iFraction)。
我有多冷?
实际上,我想这样声明函数:
friend iFraction convertF (Fraction &Fra);

但是,不能在基本校准分数中声明它。为什么?

最佳答案

您不需要 friend 功能。有两种方法可以使用dynamic_cast或编写一个转换构造函数,该构造函数接受一个Fraction对象并将其转换为iFraction对象。我不确定第二种选择是否完全是一个好的选择,但可以尝试一下。

09-09 19:19