gpt4 book ai didi

c++ - 派生类与基类有相同的成员变量名

转载 作者:太空宇宙 更新时间:2023-11-03 10:41:03 33 4
gpt4 key购买 nike

#include<iostream>
using namespace std;

class A
{
protected:
int m_nValue;
public:
A(int nValue):m_nValue(nValue)
{
cout << m_nValue << endl;
}
};
class B: public A
{
public:
B(int nValue): A(m_nValue)
{
cout << m_nValue << endl;
}
int getValue()
{
return m_nValue;
}
};
int main()
{
B b(4);
cout << b.getValue() << endl;
return 0;
}

这里,在上面的程序中,我没有在 Derived 类中再次声明 m_nValue。在输出中,我看到只显示垃圾值而不是显示值“4”。请解释一下。

最佳答案

您正在尝试用 m_nValue 本身初始化 m_nValue。根本不使用参数 nValue(传入值 4)。这就是为什么 m_nValue 只有垃圾值。

你可能想要

B(int nValue): A(nValue)
{
cout << m_nValue << endl;
}

关于c++ - 派生类与基类有相同的成员变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37581199/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com