自分では分からないことを聞きに来ました。+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と, という文を使えば問題なかった(?)c
Binary_Class
set_dec
a
b
c=a+b
しかし、新しいクラスを使用してクラス バイナリを拡張したい
class Binary_Class_Extended: public Binary_Class
{
// weird functions
}
クラス の3 つのオブジェクトa
、b
を宣言した場合、それ以前と同じように使用できますか?c
Binary_Class_Extended
c=a+b
Netbean ではc=a+b
、すべてが of の場合に一致する operator= はありませんが、そのステートメントが機能Binary_Class_Extended
すると宣言するc
と、Binary_Class
つまり、 が新しいクラスに引き継がれないかのようにをa+b
返します。const Binary_Class
operator+
私は何かを見逃していますか、それともこれがそのままですか?
もちろん、これはただの割り当てなので、コード全体を投稿できますが、現時点ではこれらの情報で十分だと思います。
アップデート
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
され、 sb
null 以外の値に。
私が取り組んでいる完全なソース コード: https://pastebin.com/eiVz0f5p