C為什麼報錯C 的類中不能定義陣列嗎

時間 2022-08-21 19:51:43

1樓:匿名使用者

可以的啊,你是不是弄錯了

c++:為什麼報錯 c++的類中不能定義陣列嗎?

2樓:匿名使用者

c++ 類中可以定義陣列 但是不能給陣列初始化

只能宣告變數 給類中的成員變數付初始值的話要放到 建構函式 中

並且。。。。 你的main函式寫到類裡了?????

c++問題:能不能定義類的陣列??

3樓:匿名使用者

陣列在定義時是要分配記憶體空間的,所以要有相應的建構函式

4樓:忽視的發生

point s[2]中的是s[2]只是point類的乙個物件不是陣列

5樓:

#include

using namespace std;

class point

;point::point(int a,int b,int c)void point::set(int j,int k,int l)void point::show()

int main()

錯誤很簡單。因為你在定義point的建構函式時沒有給3個引數預設值,而你在定義物件陣列時又沒有提供對應的引數,所以報錯

c++不能給類裡定義的陣列賦值嗎

6樓:

這個時候不行,這種初始化列表賦值得在定義的時候使用,而類定義裡定義陣列的時候,又不能帶初始化列表。如果是外面(全域性或函式體),則可以int a[6]=;

你這種情況,中轉下吧

ga::ga()

;for(int i=0;i<6;i++)a[i]=b[i];

}或是使用memcpy(a,b,sizeof(b))或是 a[0]=1;a[1]=1;a[2]=1;a[3]=1;a[4]=1;a[5]=2;

7樓:匿名使用者

你好!可以的,只要你在類中設定乙個輸入函式就行了。但前提是你的陣列規模是定好的。

c++為什麼不能建立引用陣列,求大神解啊

8樓:圖書館的竹

我只想說,這裡面除了viichi說對了,其餘人全是錯的,一些理解很片面,剩餘的理解完全是在瞎說。可笑的是,二樓這樣及其片面的錯誤回答還被推薦。麻煩好好學習底層彙編引用的實現,了解一下引用的實質。

不懂就別在這裡誤導人。

9樓:匿名使用者

陣列是指標,

指標總是指向變數,而不能指向引用(因為對引用取位址得到的還是引用對應的變數的位址)

因為沒有指向引用的指標,所以不能有引用陣列。

10樓:匿名使用者

c++中的引用受到限制,而不能象指標一樣濫用。

你為何需要引用陣列嘛?

11樓:

c++:

引用不是真正的變數。只是變數的別名。

引用的位址是所引用物件的位址,引用的值是所引用物件的值。

引用就是所引用物件本身。

換句話說,引用只是個符號(名字),不是變數,所以也不能有引用陣列。

所以引用的初始化和賦值,沒有任何相同之處。

所以無法建立引用陣列。

如果可以建立引用陣列,那麼對引用使用取址運算子 &就有了二義性。

12樓:匿名使用者

首次,引用的概念,等價與 指標常量。

int n;

int * const ptr = &n;

int &ref = n;

ptr 和 ref 除了語法之外,可以理解為是完全等價的。

常量在定義時必須初始化,同樣的引用在定義時也必須初始化。

ok,切入正題,c++對陣列的初始化方法,沒有額外的定義,而是沿用了c語言的初始化方式。

int a = ;

int *p = ;

c++中引入了拷貝構造,即,用初始化列表中的值,拷貝構造陣列中的元素。

而拷貝建構函式的形式為:t::t(const t &);

又因為c++不允許引用的引用,所以t不能為引用型別。

所以,在以上框架下,不允許存在引用的陣列。

不過,相信你看到這裡,會用 常指標陣列 實現"引用陣列"這個需求了..

13樓:匿名使用者

int n3[3]

= ;int (&rn3)[3]

= n3;

C 建構函式的任務是什麼,在c 類中,定義建構函式的目的是什麼

建構函式通常用於在例項化物件時自動對內部資料成員初始化,設定初始值 分配記憶體空間等。而析構函式則用於刪除物件時做收尾工作,比如釋放申請的空間等。要建立乙個物件,就得呼叫建構函式。要銷毀乙個物件,就會被迫的呼叫析構函式。如果成員函式宣告稱static,不建立物件也能呼叫 靜態成員函式。根據你的需要來...

c類裡面的介面是什麼意思,C 中的介面是什麼?具體的含義,介面有什麼作用

就是當這個類現實這個介面的時候命名最好要成對一般命名是這樣的介面以i為字首 如istudent.cs 而實現這個介面的類的命名可以不加字首,student.cs 就行了,如果在三層架構裡面,在企業中常用的命名規範是以impt作為字尾如studentimpt.cs 當然,這些命名只是為了更容易分辨每個...

C中訪問修飾符什麼意思,C 定義類的訪問修飾符是指什麼意思

預設是internal c 用多種修飾符來表達類的不同性質。根據其保護級c 的類有五種不同的限制修飾符 public可以被任意訪問 protected只可以被本類和其繼承子類訪問 internal只可以被本組合體 assembly 內所有的類訪問,組合體是c 語言中類被組合後的邏輯單位和物理單位,其...

在C 中為什麼要使用指標,C 中的指標有什麼作用?

您好,就算資料很大,指標的內容儲存的只是那段記憶體的基位址,一般為四個位元組,所以不會很大的。你述說的這種情況就像是圖書的目錄和頁碼 你要從一本書裡找內容 是一頁一頁翻過去快呢 還是把裡面的內容按標題放在目錄裡快呢 這裡的棧就相當於目錄 指標是目錄裡的標題 整本書是堆 頁碼是堆的乙個個空間 如果從堆...

c父類引用指向子類的例項為什麼需要強制型別轉換子類裡面既然已經有父類的東西了而且父類也只能

c 父類引用指向子類的例項為什麼需要強制型別轉換?c 父類引用指向子類的例項並不需要強制型別轉換。當父類引用子類的例項後,如果需要使用子類特有的方法時才需要強制型別轉換。舉例 namespace answer160429 子類,繼承父類animal class bird animal class p...