❶ 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);