自分では分からないことを聞きに来ました。+32 ビットの配列を格納し、 、-、/などの単純な数学演算を実行できる小さなクラスをコーディングしてきました*。
次のようなクラスがあるとします。
class Binary_Class
{
char bin[32]; // 32 bits array to hold an unsigned binary number
void set_dec(int value){}; // setting the bin[32] value based on input value
// I have operator + and = to perform on objects of this class.
Binary_Class& operator= (const Binary_Class&);
const Binary_Class operator+ (const Binary_Class&);
}
今までは class の , , の3aつbのオブジェクトを宣言してから toと, という文を使えば問題なかった(?)cBinary_Classset_decabc=a+b
しかし、新しいクラスを使用してクラス バイナリを拡張したい
class Binary_Class_Extended: public Binary_Class
{
// weird functions
}
クラス の3 つのオブジェクトa、bを宣言した場合、それ以前と同じように使用できますか?cBinary_Class_Extendedc=a+b
Netbean ではc=a+b、すべてが of の場合に一致する operator= はありませんが、そのステートメントが機能Binary_Class_Extendedすると宣言するcと、Binary_Classつまり、 が新しいクラスに引き継がれないかのようにをa+b返します。const Binary_Classoperator+
私は何かを見逃していますか、それともこれがそのままですか?
もちろん、これはただの割り当てなので、コード全体を投稿できますが、現時点ではこれらの情報で十分だと思います。
アップデート
class Binary_Class
{
char bin[32]; // 32 bits array to hold an unsigned binary number
void set_dec(int value){}; // setting the bin[32] value based on input value
//i have operator + and = to perform on objects of this class.
Binary_Class& operator= (const Binary_Class&);
const Binary_Class operator+ (const Binary_Class&) const;
}
class Binary_Class_Extended: public Binary_Class
{
// weird functions
}
Binary_Class_Extendedこのエラーのすべてのオブジェクトを表示しようとすると:
main.cpp:285: エラー: 'sd = ((Binary_Class*)(&sa))->Binary_Class::operator+(((const Binary_Class&)((const Binary_Class*)((Binary_Class*) の 'operator=' に一致しません)(&sb)))))'
Binary_ET_Class sa,sb,sc;
sc=sa+sb// 初期化saされ、 sbnull 以外の値に。
私が取り組んでいる完全なソース コード: https://pastebin.com/eiVz0f5p