1樓:網友
陣列只是乙個容器,裡面的東西是需要你自己乙個個放進去的。
snake snakes=new snake[10]; 這一行只是初始化了容器的大小,裡面還是空的,沒放任何東西。
而接下來試圖訪問裡面第1個元素的visible屬性的語句 snakes[0].visible=1; 會因為找不到物件,報空指標異常。
解決方法就是先把這個容器裡面放上東西,就像這樣:
snake snakes = new snake[10];
for (int i = 0; i < i++)snakes[i] =new snake();
2樓:spirit_大新
snake snakes=new snake[10];
型別 【】陣列名字 = new 型別【長度】;
陣列名字【下標】就代表陣列裡面的具體的乙個元素。或者理解為就是乙個具體snake型別的物件。
如果snakes[0].visible=1;那visible就應該是snake類的屬性。
屬性物件。屬性的方式進行賦值。
3樓:螢光小草
不對 會報空指標異常的錯誤。
應該這樣。snake snakes=new snake[10];
snake[0]=new snale();
snakes[0].visible=1;
c++類陣列物件呼叫問題
4樓:牽著你的手
#include
#include
#include
using namespace std;
class arr
arr(int m[100], int b)void delsame()
a[t + s] =0;
if (a[t] =a[t + 1])t--;
n = n - count;
void show(char * fname)void main()
建構函式,指定陣列大小。;;
c# 類物件的陣列,定義以及如何在其他類或方法中呼叫陣列
5樓:帖靖易
定義方法:
object myobjarray = new object[3]; //3的位置是陣列長度。
如果需要不定長陣列,推薦使用list來解決,當需要陣列下標特性的時候,只要用toarray轉一下就行了。
listmyobjlist = new list();
object("my_obj");
object myobjarray = ;
至於呼叫,和普通引數傳參方法相同,但要注意需要的形式,是引用傳入,還是一般傳入。
引用傳入可以使用ref關鍵字標定,使用時會直接使用物件引用,更改值表示,原值更改。一般傳入,僅表示使用其值,返回時需要用返回值,或者使用out關鍵字標定的傳入引數。
總得來說,可以把物件陣列當作一般引數來對待,但是使用時注意他真實型別就行了。
針對問題,這個是乙個引數域的問題,需要把book陣列定義在外部,使book的作用域擴大,現在的book的作用域只是load函式。我大致寫一下。
book = new
load {
book //賦值等操作。
click {
呼叫book
6樓:網友
把你這句 book book = new book[10]; 宣告成全域性的不就行了嘛。。在load中賦值。。其他地方就可以用了。
j**a 在乙個類中的宣告的乙個陣列,在另乙個類中怎麼呼叫?
7樓:網友
把這個陣列bai
單獨行成一du個類 不要寫在程式的main方法裡zhi , main方法通常不寫這些dao這回些** 都是單獨做成類答來出理。
在別的類中 可以定義很多方法以便呼叫。
在main方法呼叫時。
的語法是:你要呼叫的類名。物件名(自定義)=new 類名();
如何呼叫物件陣列中物件的屬性
8樓:過一會
假定陣列a儲存物件,若物件有長度屬性,則可以這樣提取:length = a[i].
如何在呼叫webservice方法時,傳遞物件陣列引數
9樓:匿名使用者
關於處理物件的問題(傳入和返回物件)有多種方法。樓主可以參照下面的方法來做。
1. 將物件序列化後,編成base64編碼,作為string來傳輸,然後在服務端或客戶端再將base64編碼還原成物件。
2. 直接傳遞物件也可,但不能直接轉換,只能通過getproperty方法獲得物件中屬性的值,可以在客戶端按屬性來賦這些值,也可以建立乙個通用的將soapobject轉換成物件的方法。
3. 直接把物件序列化變成byte,然後進行傳遞,再還原成物件。不過位元組陣列我沒有測試過ksoap2能否傳遞,樓主可以試試,但前兩種方法肯定沒有任何問題。
j**a 呼叫另外乙個類的陣列
10樓:曾經有個怪叔叔
看樣子 提問者 好像剛接觸程式不久。
其實,不是方法呼叫陣列,而是方法呼叫屬性,方法呼叫方法。
假設類a 是 含有main 並且帶有 陣列的 類,類b 中有乙個方法,要使用這個陣列。
我寧願相信,a中的這2個陣列不是a的屬性,a也沒有方法可以獲得這2個陣列。所以在b 中是調不到的。
應該是 a 中的main 調b 中的方法,處理這2個陣列。
所以,b 中應該存在乙個方法,這個方法有2個引數,分別等待傳入陣列,並有返回值返回計算好的資料。假設方法為f
public string f(string x,string y)
而在a 中main 方法裡 準備好2個陣列後,當做引數給 b 中的方法使用。
而a中想要調b中的方法,應該先 b b=new b()
然後再string s=,y)
11樓:
new 含有陣列的那個類, 然後物件名 · 陣列名啊。
12樓:大愛江湖笑笑生
main方法的資料要通過傳引數的方法傳遞陣列。
j**a 中乙個類怎麼呼叫另乙個類的陣列元素
13樓:
string a = new string[100];改成public string a = new string[100];
然後引用時。
aaa");改為"aaa";
14樓:網友
a[1]=("aaa"); 好像直接可以用 a[1]="aaa";吧 改下看看。
15樓:後謎
不知道你問的是異常 還是陣列賦值 如果是陣列賦值 直接吧"ssssssss" 就行了。
16樓:公尺久
public static 這個的意思是公共的。
string a = new string[100];//字串陣列。
mainframe()
17樓:網友
在mainframe裡實現public的get和set方法吧。
c 基類指標指向派生類時可呼叫派生類中定義的函式嗎
這種現象在c free中執行沒有錯誤,請問是怎麼回事?重新定義指是在基類指標指向派生類,存的是派生類的地址,所以你強制轉換一下指標型別,基類 灰晞鬱 你說的 派生類中定義的函式 我做兩種理解 第一種 派生類中自己寫的 基類中沒有的函式。這種函式是基類的指標無法訪問的,必須把基類的指標通過強制型別轉換...
C 關於char陣列的問題,關於C char型別陣列長度的問題
可為什麼下標引用超出定義沒有錯誤 因為宣告char陣列的時候,b只是被宣告為指向char陣列第一個地址的指標。用操作符取資料的時候,編譯器看成是首地址向後偏移 char型別的長度 序號 超過了界限之後,至於後邊取到什麼意外資料就不一定了。所以一般需要使用char陣列儲存一個長度為n的字串的時候都宣告...
C中ArrayList類定義的陣列如何訪問陣列裡的元素
一口沒水的枯井 1.需強制轉換成 你想要的型別 2.示例 如下 3.執行結果如下 來自天門寺靈巧的華山鬆 只能通過下標訪問 比如 adjlist index 如果要找到data屬性相同的,只能遍歷adjlist,通過判斷返回arraylist本身就是一個連結串列結構,不可能直接訪問到其中的元素如果想...