私は C++ を使用して組み込みハードウェアの開発を行っており、const (ROM) 構造体へのポインターを使用してオブジェクトのサイズを最小限に抑えることがよくあります。
クラス コンストラクターに渡されたポインターを取得したら、渡したオブジェクトに基づいてコンパイラーに別の ROM オブジェクトを作成させますが、1 つまたは 2 つの引数を変更してから、親クラスのコンストラクター (Display_Element) を呼び出します。これをどのように行うことができるかについてのアイデアはありますか?
const 文字列はパラメーター リスト内で宣言できるため、パラメーター リスト内で const 構造体を宣言する方法もあるかもしれません。
私はこのようなことをしたいと思っていました (これは C++ では違法です)。
Button::Button(const Colors_const* ecc, const Display_element_const* edc, const Element_const* eec, char* elabel,
Display_element* eparent, Screen* escreen) :
Display_element(ecc, cc,Display_element_const {
edc->xi+200,
edc->xf,
edc->yi,
edc->yf,
edc->font_size,
edc->image,
edc->image_x_offset,
edc->image_y_offset,
edc->label_x_offset,
edc->label_y_offset,
edc->mouse_down_ptr,
NULL,
edc->largura_borda_externa,
edc->borda_panel
},
eec,elabel,eparent,escreen) {
flags.largura_borda = 2;
//flags.largura_borda_externa = 3;
flags.borda_light_shadow = true;
flags.sliding_text = true;
flags.dont_paint_on_click = false;
}
ありがとう