當前位置:首頁 » 文件傳輸 » 構造函數訪問私有成員變數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

構造函數訪問私有成員變數

發布時間: 2022-02-07 08:40:55

『壹』 構造函數的訪問控制:私有、公有、靜態的區別

私有:類內部訪問,其他類滾粗
公有:愛誰誰,不管什麼類均可無條件訪問
靜態:必須無參數,靜態構造函數是C#的一個新特性,在編程過程中用處並不廣,它的主要目的是用於初始化一些靜態的變數。因為這個構造函數是屬於類的,而不屬於任何一個實例,所以這個構造函數只會被執行一次,而且是在創建此類的第一個實例或引用任何靜態成員之前,由.NET自動調用。

『貳』 C++類內的構造函數無法訪問私有成員,怎麼回事

你Triangle的構造函數不是public的啊

『叄』 為什麼構造函數裡面可以直接用成員運算符引用私有成員 不是要用成員函數訪問嗎跟對象的封裝性不就矛盾了

構造函數也是成員函數,當然可以直接訪問私有數據成員了

『肆』 為什麼拷貝構造函數中的參數能直接調用類的私有成員變數

調用自己的成員沒任何限制,又不是調用別人的,也沒調用繼承的

『伍』 C++ 為什麼類的構造函數可以訪問類的私有成員

類的私有成員是對類外部而言的,類的成員函數內部屬於類的內部,所以可以訪問任何私有成員。
類自己的構造函數也是類的成員函數,所以也可以訪問類自己的私有成員。
類的外部主要是兩種情況:
1
類對象的作用域
2
類的派生類內部
3
類的靜態成員被使用的地方

『陸』 C++構造函數無參數怎麼給類的私有成員賦值

因為在類內部,數據成員是可以無限制訪問的
#include<iostream>
usingnamespacestd;
classPoint{


intx,y;
public:
Point();//構造函數必須為公共成員
Point(constint&a,constint&b);//帶參數的構造函數
Point(Point&p);//拷貝構造函數,參看拷貝構造內容
intgetX()
{
returnx;
}
intgetY()
{
returny;
}

};
Point::Point()//構造函數必須為公共成員
{
x=0;
y=0;
}
Point::Point(constint&a,constint&b)//帶參數的構造函數
{
x=a;
y=b;
}
Point(Point&p)//拷貝構造函數,用於拷貝初始化
{
x=p.x;
y=p.y;
}
intmain()
{
Pointa;//調用無參數構造函數
pointb(5,7);//調用有參數構造函數
pointc=b;//調用拷貝構造函數

return0;
}
提問題的時候最好把代碼格式化一下,這亂碼基本沒人看

『柒』 在拷貝構造函數中為什麼可以訪問引用對象的私有變數

按我個人的理解,封裝是針對類,顯然復制構造函數是在這個類內部,舉個例子,我們都是人類,假設我們每個人(對象)都有一個u盤,而復制構造函數就是我願意把我的u盤借給你拷貝信息,通過我這個對象,你在人類這個類中可以用我的u盤,但是對於其他類,我不借。另外,我還聽人說過這樣一句話,特別好:方便編程.同類同象互為友元.這個破壞封裝.但是利於設計。希望對你有幫助,不過有什麼問題,你最好找高手當面交流,這樣更容易理解。

『捌』 java中定義的私有變數,後面該如何用構造函數來調用

java裡面沒有全局變數的定義,但是你這里的意思好像就是要一個這樣的全局變數。你可以定義一個類用於保存你要的變數,然後訪問這個類就行。如果要在你下面的這個方法中訪問main方法中的變數是做不到的

『玖』 為什麼C++中復制構造函數可以調取其他對象中的私有變數

num(const num&s)是成員函數。所以可以訪問同類型對象的私有成員。

『拾』 派生類構造函數無法訪問私有數據成員,請問為什麼

既然是「私有」的,那意思就是不讓「別人」訪問,只允許自己的成員函數操作,不然就不叫「私有」的了。子類中繼承的基類私有成員仍是私有的,子類可以訪問「自己」繼承的基類的私有成員,效果在絕大多數情況下是一樣的。