gpt4 book ai didi

c++ - 如何通过派生类访问基类的 protected 成员?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:49:50 26 4
gpt4 key购买 nike

<分区>

我正在尝试几个关于继承的程序,结果是以下导致了错误,但我真的不知道原因。

#include <iostream>

using namespace std;

class Base {
protected:
int x = 0;
};

class Derived: public Base {

// OK: access protected member via this
void g() { cout<<x; }

// OK: access protected member of other Derived
void h(Derived& d) { cout<<d.x; }

// FAIL: access Base class's protected member, why?
void f(Base& b) { cout<<b.x; }
};

int main() {}

我希望派生类可以访问基类的公共(public)或 protected 数据成员和成员函数。

然而它并没有像我想的那样起作用,谁能帮我阐明我的概念?

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