導航:首頁 > 源碼編譯 > 不定義的編譯方法

不定義的編譯方法

發布時間:2022-04-26 09:01:41

java 構造函數是否能不定義

可以不定義.不定義的話系統會默認產生一個 參數為空的構造方法;
不過用javaBean的話,必須得有一個參數為空的構造方法;
樓主還是養成一個好習慣,寫上一個無參構造;這是沒有任何負擔的..呵呵.

❷ 對於一個類如果不定義構造方法,編譯器默認一個無參的構造方法,代碼中會顯示出嗎

不會,不過可以通過反匯編查看,但是如果你定了一個構造函數(無參獲帶參的)那麼原先默認的構造函數將自動被注銷

❸ 如果不定義構造函數,編譯器給出的默認構造函數一樣么,這時定義的對象怎麼賦值

構造函數是編譯器提供的一個介面供程序員選擇,在創建對象時按需要初始化成員變數。當然你也可以不通過構造函數初始化,選擇在創建對象後,通過公開成員變數由外部程序賦值,或者你也可以編寫相應的函數進行賦值,具體怎麼做由程序員決定。

當沒有定義構造函數時,系統提供一個默認構造函數(隱含的),只是為了滿足介面需要,不做任何事情。

比如:

classMyClass
{
//MyClass()//無參構造函數,你可以不用
//MyClass(constMyClass&other)//拷貝構造函數,你可以不用
public:
intnValue;//你可以選擇公開成員變數
voidSetValue(intval)//也可以定義設置函數
{
nValue=val;
}
}

//那麼
voidmain()
{
MyClassA;
A.nValue=10;//創建對象後設置值
A.SetValue(10);//或者通過函數設置值
}

初始化是否採用構造函數看你需要,如果你的成員變數是個確定值(每個對象都一樣),可以將成員變數定義為常量,或者在構造函數中初始化,那麼創建對象後,對象的成員變數就自動被賦值,後面賦值語句就不用寫了,如果你的成員變數需要在運行時確定,或者每個對象的值不一樣,就是值不確定。那麼就不使用構造函數,而在需要的時候賦值。

❹ C++中,只是聲明一個函數而不定義,編譯時會不會產生與之相對應的命令代碼

不會產生代碼,也不會出錯。就算語言規定默認定義的構造函數如果不使用不會產生代碼的。

❺ 5、用C語言編程時,變數可以不定義,直接使用對嗎

不可以,C語言是強類型語言,必須定義變數名,而且定義變數是為了給該變數提供一個內存區。

❻ C++編譯錯誤:不定義該運算符或到預定義運算符可接收的類型的轉換

void SearchHashTable(HashTable HT,char* ch)
看到沒,這個HT是一個HashTable,不是數組,用不了[]

❼ c語言自定義函數可以不定義直接申明

當然可以。
調用一個函數,必須保證這個函數名在之前出現過,你可以把函數體放前面,亦可以只寫一個聲明。。。。。
如果你調用一個函數,這個函數沒有出現在調用這一行之前,可以只是個函數聲明,也可以是函數體。。。編譯就像看文章一樣,一行行來的,前面沒有提到過這個東西,那他就不知道是什麼,所以不通過。。。。函數調用之前,必須要知道他的參數有幾個,類型是什麼,返回值是什麼,前面沒有,這就沒法編譯,函數聲明就提供了所有這方便的內容,所以要在前面寫清楚。。。

❽ java問題 不定義包,編譯和運行都沒問題,定義了包後,編譯可通過,執行就顯示錯誤

寫了包之後,在dos命令下把文件編譯成.class文件,然後在你配的環境變數的class的路徑下新建文件夾xyz,在xyz文件夾下新建文件夾abc,然後把你編譯後的.class文件放在裡面,在dos命令下把路徑改到。。/xyz/abc下,然後在運行就可以了

❾ C語言如何實現頭文件不定義函數名,然後c文件里就不編譯該函數,或者其他能實現這樣效果的辦法

採用條件編譯即可。

在.h頭文件中加上

#if1
#defineFUNC_ENABLE
voidfun();
#endif

在.c中加上

#ifdefFUNC_ENABLE
voidfun(){printf("OK ");}
#endif

當我們不想編譯該函數時,加#if 1改為#if 0即可。

例子:

#include<stdio.h>

#if1
#defineFUNC_ENABLE
voidfun();
#endif

#ifdefFUNC_ENABLE
voidfun(){printf("OK ");}
#endif
intmain(void){
fun();
return0;
}

❿ 如何利用C++進行不定輸入編程,即輸入兩個或三個整型數據的編譯方法。PS:本人初學C++,希望指點一下。

先問自己,如果你是用戶,你怎麼告訴電腦,你的數據輸入完畢。
比如我有100個數據,我怎麼輸入?一個數字一個空格?當打完100個之後,我要怎麼告訴電腦我打完了?這個問題是你先要解決的。

那麼一個辦法就是,用數據數量來判定,就像你的方法。
另外就是每次都問是否結束,不過100次提問似乎太愚蠢了。
或者某個特定的字元來結束。

但是不管哪種方法,只要有一種方法,那麼你就可以通過這種方法來自行判斷有多少個數據進來。什麼時候結束。而不用if(==2)。。。else if(==3)。。。else if()。。。。。
比如你的方法,可以不用if()else。
當你拿到數據數量為n的時候,可以用for來實現輸入,比如:
int a[255];
for (int i=0; i<n; i++)
{
cin>>a[i];
}
max(a);

閱讀全文

與不定義的編譯方法相關的資料

熱點內容
單片機頻率發生器 瀏覽:732
備份與加密 瀏覽:623
用什麼app可以看論壇 瀏覽:52
javajdbcmysql連接 瀏覽:473
製作linux交叉編譯工具鏈 瀏覽:751
編程負數除以正數 瀏覽:512
app和aso有什麼區別 瀏覽:326
手機vmap是什麼文件夾 瀏覽:36
塔科夫鎖服如何選擇伺服器 瀏覽:290
消費者生產者問題java 瀏覽:61
程序員筱柒顧默結婚的時候 瀏覽:578
安卓截長屏怎麼弄 瀏覽:475
優信辦理解壓手續怎麼那麼慢 瀏覽:605
私有雲伺服器一體機安全嗎 瀏覽:430
python的tk界面禁用滑鼠 瀏覽:186
怎麼看伺服器mac地址 瀏覽:291
安卓如何將圖鏡像翻轉 瀏覽:325
操作系統設計與實現pdf 瀏覽:547
長虹空調遙控什麼app 瀏覽:739
四軸外圓編程教程 瀏覽:947