首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重写子类构造函数中的父类变量

重写子类构造函数中的父类变量
EN

Stack Overflow用户
提问于 2018-05-16 00:03:48
回答 1查看 623关注 0票数 1

我试图找出如何在子类构造函数中更改父变量。我现在在构造函数体drawable::bounce = wall::bounce中的内容似乎并不覆盖drawable::bounce默认值。正确的方法是什么?

可绘制类:

代码语言:javascript
复制
class drawable {
protected:
   window w;
   vector location;
   vector size;
   vector bounce;

墙类构造函数:

代码语言:javascript
复制
wall::wall(window & w, const vector & start, const vector & end, 
int update_interval, const vector& bounce):

rectangle(w, start, end),
filled(false),
update_interval(update_interval),
update_count(0)

{
    drawable::bounce = wall::bounce;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-16 00:07:07

drawable::bouncewall::bounce是同一个对象,即在wall对象的drawable基类子对象中找到的成员bounce。所以你现在的任务说明什么都没做。

您可能需要以下内容:

代码语言:javascript
复制
this->bounce = bounce;

这将bounce成员设置为等于bounce参数。注意,没有附加限定条件的bounce引用该参数,因为该参数位于最嵌套的范围内。

另一种可能的解决方案是为drawable提供另一个接受bounce参数的构造函数,并将bouncewall构造函数传递到drawable构造函数。这样做的好处是,bounce只设置一次,而不是初始化为空,然后重新分配。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50360716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档