c++primer 的笔记
1、关于继承
派生类只能通过派生类对象访问其基类的 protected 成员,派生类对其基类类型对象的 protected 成员没有特殊访问权限。
例如,假定 Bulk_item 定义了一个成员函数,接受一个 Bulk_item 对象的引用和一个 Item_base 对象的引用,该函数可以访问自己对象的 protected 成员以及 Bulk_item 形参的 protected 成员,但是,它不能访问 Item_base 形参的 protected 成员。
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
}
d.price 的使用正确,因为是通过 Bulk_item 类型对象引用 price;b.price 的使用非法,因为对 Base_item 类型的对象没有特殊访问访问权限。
2、类的用户
类有3种用户:类本身、类的用户和类的派生类。
3、一个继承的例子:
父类:
派生类:

本文探讨了 C++ 中的继承机制,重点介绍了派生类如何访问基类的 protected 成员,并通过具体例子展示了基类与派生类之间的访问权限差异。此外,还讨论了类的不同用户角色及其在继承中的作用。
1689

被折叠的 条评论
为什么被折叠?



