我正在使用 C++ 开发嵌入式硬件,并且我经常使用指向 const (ROM) 结构的指针来最小化对象大小。
当我得到一个传递给我的类构造函数的指针时,我希望编译器根据我传递的对象创建另一个 ROM 对象,但更改了一个或两个参数,然后调用父类构造函数 (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;
}
谢谢