類外訪問函數
1. C++ 對象訪問類成員算是類外訪問還是類內訪問
舉個例子,假設有如下代碼:
classCA
{
public:
inta;
public:
CA(){a=7;}
};
intmain()
{
CAca;
intb=ca.a;
return0;
}
CA是一個類,ca是CA的一個實例,因此ca是CA的對象。
當你在main()函數中執行int b = ca.a;這句代碼時,是main()函數在訪問對象ca的成員變數a,而不是ca自己在訪問它自己的成員變數,這就是外部訪問。那麼,什麼是內部訪問呢?比如CA的構造函數CA()本身是對象ca的成員函數,在這個構造函數的內部也在訪問a,這就是ca自己在訪問自己的成員變數,這就是內部訪問。
簡單點說就是:
如果是在對象ca的外部,以ca.a的形式來訪問ca的成員變數a,這就是外部訪問;如果是ca自己的成員函數(包括但不限於它的構造函數)在訪問ca自己的成員變數,這就是自己訪問自己,是內部訪問。
2. 類的私有成員是不能被外部函數訪問的吧
私有成員是不可以被外部 派生類訪問的, 得另通渠道使用public成員函數間接訪問,但如果有友元類(函數)那麼是可以被訪問的。
3. 如何在一個類中訪問另一個類的成員函數
假設你想在類A里調用類B的函數int f(x),兩種辦法:
1、class A::B 也就是說將B定義為A的父類, 這樣你就可以自然的在A裡面用f(x)了
2、class A
{
B B_ins;
int g(x);
}
int g(x)
{
return B_ins.f(x)
}
也就是說你可以在A裡面使用一個B的對象作為成員變數,這樣就可以用他的函數了
4. C++中類內與類外訪問的區分標準是什麼
調用方式不同,在類裡面定義的是內聯函數//調用的時候不發生控制權轉移,作為函數體本身一個模塊進行調用在類外面定義的函數//情況相反,調用的時候需要開辟一部分空間//總結就是類裡面定義的調用更快,更節省內存
5. C++中,類外訪問究竟是什麼,究竟是怎樣的
就是在類的外面訪問內部成員
pubilc的可以直接訪問 其他的都不可以 這是類的封裝性
要想訪問私有和保護的可以用友元函數或者友元類
也可以在公有裡面寫借口函數來具體實現
6. c++中保護成員能被類外函數訪問嗎
不能,只能被類內的成員函數,派生類或友元訪問
7. C++中通過類的對象訪問類的成員函數 和通過類的作用域訪問成員函數有什麼區別啊
類的對象調用類的成員函數,用 '.' 操作符,對象是類的一個實例化,可以使用類中定義的操作。
而作用域操作符,是用來說明成員是屬於哪個類,或者在類外定義函數時所用的,說白了還是指明函數屬於哪個類。
8. 什麼是類外訪問和類內訪問c++
就是在類的外面訪問內部成員 pubilc的可以直接訪問 其他的都不可以 這是類的封裝性 要想訪問私有和保護的可以用友元函數或者友元類
9. 類外函數能訪問友元函數嗎
friend void compare(string &string1,string &string2); // friend 關鍵字 保證此函數可以訪問類內成員, 相對於有了類內函數的許可權.
operator==() ; // 這個就是一個函數. 不過特殊的名字,用特殊的寫法
10. 在類外聲明的函數怎麼樣才能訪問類中的保護成員
封裝的意思就是不讓訪問了。但可以在保護成員的類里做一個公共方法,用它來返回保護成員。