c中主函式中new出來了類物件請問在其他

2022-03-08 06:17:48 字數 3142 閱讀 7162

1樓:匿名使用者

當然可以啊,返回物件指標然後傳遞到其他子函式中就行。

2樓:匿名使用者

你如果老是「函式頭」之類的,就對.h、.hpp之類的檔案很難理解。

實際上是這樣的, 乙個project是分編譯(成為obj中間格式)、聯接(exe檔案)兩個步驟的,乙個project可以有多個模組組成,這些模組可以是自己乙個人做...

3樓:

不能直接用,需要通過指標引數傳遞到子函式中。

4樓:匿名使用者

可以這樣用:

void setarray(int *b,int n)void outputarray(int *c,int n)void main()

5樓:旅春冬

樓上說的有道理,解釋一下:

你說的意思其實是全域性變數的意思,樓下的意思是以傳入形參的形式傳遞進入子函式。嚴格說來你們說的不是同一件事。

1、你的說法是不可以的。從某種意義上來講主函式和其他子函式的地位是相同的,如果其他函式直接使用某乙個變數可以在主函式之外定義全域性變數,這樣其他函式可以直接使用了。

2、樓下的說法是對的。雖然定義了區域性變數,但是以形參的形式傳入子函式,子函式可以對其實現相應的操縱。

希望,我的回答能夠幫助你。

c++中定義的類,裡面的成員函式可以直接使用嗎?就是在沒有物件的時候。 例如,class裡有乙個成 20

6樓:匿名使用者

沒有物件的時候要訪問類成員函式的話,只能訪問靜態成員函式。例如:

class a

}這樣可以在主函式裡直接用

a::abc();

這樣的語句進行呼叫。

7樓:匿名使用者

如果是static函式,可以用類名::abc()來呼叫

如果不是static函式,不可以直接呼叫

8樓:匿名使用者

不可以,唯一的例外是宣告成static 的成員函式可以

9樓:紛採

#include

using namespace std;

class hello

};int main(void)

10樓:匿名使用者

把類名當成命名空間。

要呼叫的方法,寫成靜態方法,用類名引用。

c++中的new函式怎麼用?

11樓:

new 的作用是動態開闢空間,一般的形式估計你也會了。我就直接給你講題吧

你這個函式的作用是動態建立乙個(n1+1)*(n2+1)的二維陣列(注:在c++中 直接用new(a)這種形式是錯誤的)

首先明白所謂指標就是存放位址的變數,這一點最重要double **a=new double*[n1+1];

這句話的意思是開闢以一塊連續的空間用來儲存指標變數(指標的指標),它的大小是n1+1。*a是指標,那麼**a就是存放指標的指標。那個new後的double* 相當於乙個強制轉換。

因為用new時和陣列的名字無關所以[n1+1]前的陣列名可以省略。這個模擬於new double[3];

for(i=0;i<=n1;i++)

a[i]=new double[n2+1];

這個語句就是給把指標付給指標的指標,看下邊的圖你就明白了;

多琢磨一下!

12樓:_小_蘇

動態分配記憶體 相當於malloc

c++中定義的類,成員函式可以直接使用嗎?

13樓:匿名使用者

沒有物件的時候要訪問類成員函式的話,只能訪問靜態成員函式。例如:

class a

}這樣可以在主函式裡直接用

a::abc();

這樣的語句進行呼叫。

c++在乙個cpp中使用另乙個cpp中的類物件?

14樓:匿名使用者

首先,a是函式one中的區域性物件,函式one之外的部分是無法訪問a的。

你如果 想要訪問1.cpp中的a,需要使用全域性變數,考慮到編譯順序的問題,你可以這樣寫:

a & geta()

在1.h中寫這個函式的宣告,1.cpp中寫這個函式的定義。然後包含1.cpp通過geta()就可以直接訪問a了。舉例: geta().fun();

15樓:匿名使用者

one() 建立的哪個a是區域性變數, 其他地方不能用的.

你可以用下面的方法:

// one函式建立乙個a並返回

a* one()

void two()

16樓:

1)a one()

two()

2)外部變數

//1.cpp

a a;

a& one()

//2.cpp

two()

3)區域性靜態變數

//1.cpp

a& one()

//2.cpp

two()

17樓:匿名使用者

2.cpp 要用 exetern a a;

在乙個新類中,例項化另乙個類的物件後,物件會自動呼叫自己該類的建構函式(無引數)來初始化成員變數。 10

18樓:匿名使用者

對於你這個問題我只能說,要訪問物件的變數有兩個方式:第一,如果變數是靜態變數,你可以通過類訪問,第二如果你是非靜態的成員變數你就得通過類的物件訪問。所以你要改變乙個類的變數的值,就只能用上面的兩種方式,如果還有疑問可以hi我,謝謝採納

19樓:

你可以寫乙個帶引數的建構函式,呼叫這個建構函式把它的成員變數初始化成你想要的資料

public class test}

20樓:匿名使用者

可以寫方法呀,把要修改的屬性,在方法裡修改就可以了,當時候,掉用這個方法就行了

21樓:匿名使用者

用另乙個類的物件的set方法

關於C類中帶函式的問題,關於C類中帶函式模板的問題。。

include using namespace std class student class manage int main 大概按照上面的來寫就可以了 大致明白你的意思了。你是想用c 的stl標準的algorithm演算法來排序對吧?如果是這樣,你得自己寫乙個iterator類的東西來處理你的資...

c中基類如何訪問派生類的物件

不是所有基類對bai象都能訪問派生類的du成員派zhi生類物件可以賦dao值給基類變數,這樣的基類內 變數才可以訪問派容生類成員方法是 派生類 p new 派生類 生成派生類物件 基類b p 把派生類賦值給基類派生類 o b as 派生類 使用o訪問派生類成員 什麼關鍵字用於在c 中從派生類中訪問基...

c 在主函式中輸入整數到陣列中,呼叫函式完成將陣列迴圈移動k位(要求函式引數為陣列名

int main b 10 int x 21,i,k scanf d x if x 0 x 10 x 10 for i 0 i 10 i for i 0 i 10 i printf d b i return 0 在主函式中輸入十個整數存入陣列,編寫乙個函式實現對該陣列元素進行從小到大排序的功能 in...