だから私はたくさんの変数を持つpackageという名前のクラスを持っています。すべての get/set メソッドとコンストラクターが動作しています。
パッケージ クラスを継承し、そのコンストラクターを使用する必要がある twoDay および threeDay という名前の 2 つの派生クラスがあります。
パッケージ クラスのコンストラクタ:
package::package(string sN, string sA, string sC, string sS, int sZ, string rN, string rA, string rC, string rS, int rZ, int w, int c) {
this->senderName = sN;
this->senderAddress = sA;
this->senderCity = sC;
this->senderState = sS;
this->senderZip = sZ;
this->receiverName = rN;
this->receiverAddress = rA;
this->receiverCity = rC;
this->receiverState = rS;
this->receiverZip = rZ;
this->weight = w;
this->cpo = c;
}
threeDayヘッダーのコンストラクターにこのコードを使用しています:
threeDay(string, string, string, string, int, string, string, string, string, int,int,int);
必要なのは、コンストラクターを使用できるようにするために twoDay と threeDay を用意することです。つまり、派生パッケージは基本クラスのコンストラクターを使用できる必要があるということです。
現在、次のエラーが発生します。
threeDay.cpp:10:136: error: no matching function for call to ‘package::package()’
このリンクからいくつかの調査を行いました: http://www.cs.bu.edu/teaching/cpp/inheritance/intro/
およびこのリンク: C++ コンストラクタ/デストラクタの継承
そのため、コンストラクターを直接継承していないようです。まだ定義する必要があります。その場合、なぜ私のコードが機能しないのですか?
しかし、私はそれを機能させることができないようです。
コンストラクターが機能するようになると、そこから順風満帆です。