首页 新闻 搜索 专区 学院

c++protected成员问题

0
悬赏园豆:5 解决于 2019-04-02 16:03

c++基类protect成员。通过派生类对象实例能够访问吗?

还有在派生类的成员方法中,用派生类对象实例的引用或者指针,可以通过该引用或者指针访问基类的protected成员吗?c++primer476页是可以的

参见如下单代码

void Bulk_item::memfcn(const Bulk_item &d, const Item_base &b)
{
// attempt to use protected member
double ret = price; // ok: uses this->price
ret = d.price; // ok: uses price from a Bulk_item object
ret = b.price; // error: no access to price from an Item_base
}

我的理解是

1.派生类实例对象只能访问基类或自己的public成员

2.派生类里面可以访问基类的protected和publish成员。而且在改派生类里面,如果有改派生类的实例对象,则可以通过该实例对象访问基类的protected成员

以上理解有问题吗?欢迎c++大神解答一下

beautifulday的主页 beautifulday | 初学一级 | 园豆:190
提问于:2017-11-14 10:45
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册