当类成员影响其父类的成员时,C会生成警告?

当类成员影响其父类的成员时,C会生成警告?,第1张

概述当派生类成员变量名称影响其父类之一时,是否有一种生成警告的方法,例如 class Mother {public: Mother() : i(0) {} virtual ~Mother() {}protected: int i;};class Child : public Mother{public: Child() : Mother(), i(0) {} vir 当派生类成员变量名称影响其父类之一时,是否有一种生成警告的方法,例如
class Mother {public:  Mother() : i(0) {}  virtual ~Mother() {}protected:  int i;};class Child : public Mother{public:  Child() : Mother(),i(0) {}  virtual ~Child() {}protected:  int i; /* NOK Expecting warning : declaration of 'int Child::i' shadows 'int Mother::i' */};

使用-Wshadow与g编译时,上述代码不会生成警告.

解决方法 实际上我看到代码如下,显示了阴影警告的必要性.
int val = 0;if (flag == aval)   int val = firstval;else if (flag == bval)  int val = secondval;else if...switch (val){// put cases here}

我还看到阴影警告,其中内部变量意图是本地的,对外部变量没有影响,并且不应该引用阴影变量.其实,更改名称更容易,以防止警告.

总结

以上是内存溢出为你收集整理的当类成员影响其父类的成员时,C会生成警告?全部内容,希望文章能够帮你解决当类成员影响其父类的成员时,C会生成警告?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1253052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存