protected訪問標號的乙個生僻

2021-09-24 10:42:14 字數 1479 閱讀 1391

《c++ primer》15.2.2節中有這樣一段話:

派生類只能通過派生類物件訪問其基類的protected成員,派生類對其基類型別物件的protected成員沒有特殊許可權。

例子:item_base是bulk_item的基類,bulk_item定義了乙個成員方法,接受乙個bulk_item物件的引用,和乙個item_base型別物件的引用,該函式可以訪問自己物件的protected成員和bulk_item形參的protected成員,但是,它沒有item_base型別形參的protected成員的訪問許可權。

**驗證:

item_base.h:

#ifndef item_base_h_included

#define item_base_h_included

#include using std::string;

class item_base

;#endif // item_base_h_included

item_base.cpp:

#include "item_base.h"

item_base::item_base(const string & sisbn, double dprice)

:m_sisbn(sisbn), m_dprice(dprice)

item_base::~item_base()

string item_base::book() const

double item_base::net_price(unsigned unumber) const

bulk_item.h:

#ifndef bulk_item_h_included

#define bulk_item_h_included

#include "item_base.h"

class bulk_item : public item_base

;#endif // bulk_item_h_included

bulk_item.cpp:

#include "bulk_item.h"

#include using namespace std;

bulk_item::bulk_item(const string& sisbn, double price)

:item_base(sisbn, price)

void bulk_item::memfcn(const bulk_item & d, const item_base & b)

posted @

2012-07-14 21:59

夜塔 閱讀(

...)

編輯收藏

protected訪問標號的乙個生僻

c primer 15.2.2節中有這樣一段話 派生類只能通過派生類物件訪問其基類的protected成員,派生類對其基類型別物件的protected成員沒有特殊許可權。例子 item base是bulk item的基類,bulk item定義了乙個成員方法,接受乙個bulk item物件的引用,和...

C 訪問控制之protected

本文的前提是使用public繼承。protected是修飾類成員的乙個關鍵字。其作用是使protected類成員不能夠從類外部訪問,在基類中,其與private的成員可看作具有相同的訪問限制,即只能被該基類的成員函式訪問。而protected成員還有乙個特點就是,通過public繼承得到的子類,其成...

訪問修飾符protected

protected修飾符的確讓我有點困惑。例如 object的clone 方法就是protected修飾的。發現,有的時候可以訪問,但很多時候根本訪問不到。一 下面就以clone 方法為例 我在superclass類中,不重寫clone 只是訪問。如下 package cn public class...