0

私は本の例に取り組んでいます.クラス定義でプロトタイプ(私はそれが呼び出されたと思います!)を提供し、クラスのcppファイルで行うようにメソッドを定義するように求めています. 特にこの場合は演算子を使用して、ミューテーター メソッドを理解するのに問題があります。それらをクラスの「フレンド」にすると意味がありましたが、この場合はそうではありませんでした。私はそれがどのように振る舞うのか理解できないようです。どんな助けでも素晴らしいでしょう!

クラスタイプが「メール」の場合:

Mail operator=(const Mail& rValue);
Mail operator+(int ounces);

それらのポイントは、後でメインでオブジェクト mailItem1 を作成するときに、そのプロパティ (重み) の 1 つに追加することです。

mailItem1 = mailItem1 + ADDITIONAL_WEIGHT;

必ずしもすべてを見る必要はないことはわかっていますが、ここにクラス全体があります。

class Mail
{
    // Public Interface
public:
    // Class Constructor(s)
    Mail();
    Mail(const char* type, double perOunceCost, int weight);
    Mail(const Mail& other);

    // Class Destructor
    ~Mail()
    { }  // Nothing to do, included for completeness

    // Mutator Methods
    Mail operator=(const Mail& rValue);
    Mail operator+(int ounces);

    // Observer Methods
    double getCost() const;
    friend ostream& operator<<(ostream& stream, const Mail letter);

private:
    // Class "static, const" Constant Values
    static const int TYPE_SIZE = 30;
    static const char FIRST_CLASS[];
    static const double FIXED_COST;
    static const int DEFAULT_WEIGHT = 1;

    // Variable Declarations
    char type[TYPE_SIZE];
    int weight;
    double perOunceCost;
};

それがどのように正確に機能するのか混乱しており、助けていただければ幸いです。ありがとう!

4

1 に答える 1