【问题标题】:How to access correct class member?如何访问正确的班级成员?
【发布时间】:2022-01-10 11:02:00
【问题描述】:

我一直在运行这段 sn-p 代码,执行后我发现一切编译和执行都很好(派生类的 int 代码成员设置为 65)。但是我想知道如何才能访问派生类的字符代码成员?

#include <iostream>
using namespace std;

class base {
public:
    base() : code('B') { }
    char code;
};

class derived : public base
{
public:
    int code;
};

int main(void)
{
    derived d;
    d.code = 65;
    std::cout << d.code;
};

【问题讨论】:

    标签: c++ inheritance


    【解决方案1】:

    通过使用限定名称查找为基成员变量指定正确的范围,如下所示:

    d.base::code = 'x'
    std::cout << d.base::code << '\n';
    

    有关详细信息,请参阅qualified name lookups 上的此部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      • 1970-01-01
      • 1970-01-01
      • 2020-09-11
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      相关资源
      最近更新 更多