如何訪問非靜態類成員?訪問類成員
class A
{
int value_ = 0;//I want to access this member in class inheriting from A
};
template<class X = A>
class Y :X
{
static_assert(value_ == 0,"Non-zero not allowed");//here I want to access value_ from X which is A by default. Is this possible?
};
如果'value_'由'public'或'protected'那麼你可以從派生類訪問它,但是,就像普通的類成員,你真的只能用它的內部函數體。我想知道上面的結構甚至是有用的(如果它是合法的):你似乎認爲'value_'甚至在創建了'Y'(或'A')的實例之前有一個值。換句話說,你認爲'value_'存在於類級別(而不是對象級別)。但如果是這樣,爲什麼你不使用靜態成員? – jogojapan
#jogojapan它不能在我的情況靜態 – smallB
讓我改一下我的問題:沒有靜態測試('static_assert')又有什麼意義的非靜態成員?靜態測試應用於類(即數據類型本身),而不是單個實例。但非靜態成員在每種情況下通常具有不同的價值。 – jogojapan