关于子类定义的成员变量与父类的成员变量同名的问题?

如果子类定义的成员变量与父类的成员变量同名,要表明使用子类的成员变量,可以在成员变量前加上关键字super还是this啊?... 如果子类定义的成员变量与父类的成员变量同名,要表明使用子类的成员变量,可以在成员变量前加上关键字super还是this啊? 展开
 我来答
匿名用户
2013-11-11
展开全部
通常成员变量是私有的,即程序中是不能直接修改对象的成员变量的值的。
在子类内部调用是加上this或者不加。
对于C/C++,举个例子:

#include <iostream>

using namespace std;

class Base
{
public:
Base()
{
nVal = 10;
}
void Out()
{
cout << nVal << endl;
}
protected:
int nVal;
};

class Son : Base
{
public:
Son()
{
nVal = 1000;
}
// 改变值
void Fun()
{
Base::nVal = 0;
nVal = -11;
}
void Out()
{
Base::Out();
cout << nVal << endl;
}
private:
int nVal;
};

int main(int argc, char *argv[])
{
Son son;
son.Fun(); // 改变值
son.Out(); // 输出nVal
system("PAUSE");
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式