c默認訪問修飾符
A. C 與 C++ 的真正區別在哪裡
C 與 C++ 的真正區別為以下幾點:
才疏學淺,希望我的回答能給你帶來幫助,望採納!
B. 在Java和c#中如果不寫訪問修飾符,類和類成員默認的是什麼訪問修飾符
省略類的訪問修飾符,默認為internal
省略類成員的訪問修飾符,默認為private
C. 在C#中,如果介面中的方法沒有寫前面訪問修飾符,那麼默認是什麼
在C#中,介面內所有的方法默認都是公用方法(public),但是不能加任何的修飾符。
interface IProct
{
int GetPrice(int id); //默認是public,但是不需要寫public
}
D. 在C#中類,結構,介面,枚舉及嵌套類型等的默認訪問修飾符及其成員默認訪問修飾符分別是什麼
舉例來說明比較明了:
namespace AAA
{
class MyClass
{
int a;
}
struct MyStruct
{
int b;
}
enum MyEnum
{
E1,
E2
}
interface MyInterface
{
int x=5;
void MyFunction();
}
}
這個例子里,MyClass,MyStruct,MyEnum,MyInterface都是用的默認訪問修飾符,各自內部的成員也使用的默認訪問修飾符,下面來說明各自的訪問許可權:
1,對於 類,結構,枚舉,介面這4種東西,如果用了默認訪問修飾符,則相當於使用了internal關鍵字作為訪問修飾符,具體就是只能在聲明這個類(結構,結構,枚舉,介面)的名字空間下使用,比如對於上面的例子,MyClass只能出現在AAA名字空間里,如果有一個名字空間BBB,則在BBB下是訪問不到MyClass的
2,對於類,結構內部,默認訪問修飾符的含義等價於private,比如上面的例子里MyClass里的欄位a在AAA名字空間下其他的類里是無法訪問的,同理的還有MyStruct里的b
3,對於枚舉,介面內部,默認訪問修飾符等價於public
E. 在開發C#程序過程中,如果定義的類不寫訪問修飾符,則類默認的訪問類型是
1.命名空間下的元素的默認訪問修飾符
public : 同一程序集的其他任何代碼或引用該程序集的其他程序集都可以訪問該類型或成員。
internal : 同一程序集中的任何代碼都可以訪問該類型或成員,但其他程序集不可以訪問。
2.各類型中的成員的默認訪問修飾符
剩下的修飾符主要是正對繼承這個語言特性的,擁有繼承的類型有兩個類(class)和介面(interface)。public,internal同樣可以用於類型成員。
private : 同一類和結構的代碼可以訪問該類型和成員。
protected : 同一類和派生(繼承特性)類中的代碼可以訪問該類型和成員。
protected internal : 同一程序集中的任何代碼或其他程序集中的任何派生類都可以訪問該類型或成員。
MSDN提示 :
1.) 派生類的可訪問性不能高於其基類型。換句話說,不能有從內部類 A 派生的公共類 B。如果允許這種情況,將會使 A 成為公共類,因為 A 的所有受保護的成員或內部成員都可以從派生類訪問。
2.) 成員的可訪問性決不能高於其包含類型的可訪問性。
3.) 可以使用五種訪問類型中的任何一種來聲明類成員(包括嵌套的類和結構)。
介面(interface)
介面成員訪問修飾符默認為public,且不能顯示使用訪問修飾符。
類(class)
構造函數默認為public訪問修飾符。
析構函數不能顯示使用訪問修飾符且默認為private訪問修飾符。
類的成員默認訪問修飾符為private;
枚舉(enum)
枚舉類型成員默認為public訪問修飾符,且不能顯示使用修飾符。
結構(struct)
結構成員默認為private修飾符。
結構成員無法聲明為protected成員,因為結構不支持繼承。
嵌套類型
嵌套類型的默認訪問修飾符為private。 和類,結構的成員默認訪問類型一致。
F. C的修飾符有哪些
static:修飾符:修飾變數,函數。作用域:變數僅僅在本文件可見,函數在本文件可以被調用。static在函數內部定義的話,分配在堆中,數值保存在data段,而不是在棧中,而且只賦值一次。
extern:修飾符:修飾變數,函數。修飾變數時候,變數的聲明在外面,修飾函數的時候,如果函數已經聲明,則作用不是很大。
const:修飾符:修飾變數,函數。修飾變數時候,不能被重復賦值,只能放在只讀段中。修飾函數時候,表明函數的返回值必須為常數。
volatile:(嵌入式程序員必須掌握的)volatile最初的意思是表示汽油容易揮發,在c中的作用大概有兩點(1)表示變數是易失的,易變的。(2)強制訪存操作,防止編譯器去優化,告訴編譯器每次必須去內存中取值,而不是從寄存器或者緩存。
G. c#,聲明類的成員變數時不加任何訪問修飾符,它默認的是什麼修飾符
C#類成員默認是private
命名空間里頂級類型默認是internal
H. c++類不聲明訪問修飾符 默認是什麼
類 class默認為 private
在C++中 struct結構體,默認為public
I. C中訪問修飾符有哪幾種
public
公有訪問。不受任何限制。private
私有訪問。只限於本類成員訪問,子類,實例都不能訪問。protected
保護訪問。只限於本類和子類訪問,實例不能訪問。internal
內部訪問。只限於本項目內訪問,其他不能訪問。protected
internal
內部保護訪問。只限於本項目或是子類訪問,其他不能訪問
J. c#中的屬性訪問修飾符默認是不是internal
不是,在一個類型裡面,屬性和方法默認是private的。