私は基本クラスFractionと派生クラスiFractionを持っています。 Fractionは不適当な分数を表し、iFractionは混合分数を表します。基本クラスと派生クラスのフレンド関数
class Fraction {...};
class iFraction : public Fraction {...};
ここで、これら2つのクラスのfriend関数、つまりconvertFを宣言したいと思います。関数convertFは不適切な分数(Fraction)を混合分数(iFraction)に変換することができます。 どのように寒いですか? 実は、私はこのような関数を宣言したいと思います:
friend iFraction convertF (Fraction &Fra);
しかし、それは基本calss画分内で宣言することはできません。どうして?
あなたの答えをありがとう。今、なぜ私はこれを行うことができないのか理解しています。しかし、FractionをiFraction – user1305904
に変換する目的を実現するには、Fractionクラスに分子と分母の2つのデータメンバーがあります。クラスiFractionには、整数 – user1305904
@ user1305904の部分を表すデータメンバiNumがもう1つあります。条件を二重チェックした後、継承関係が正しくないと確信しています。混合分数は不適切な分数ではありません。もちろん、2つの間の変換は完全に賢明です。 –