使用者自定義函式的宣告放在主函式中還是標頭檔案那裡

2021-03-04 04:42:46 字數 2776 閱讀 7669

1樓:我是泰坦人

都可以,但是標頭檔案裡面是類什麼的。如果只是完成某一個特定區域功能的函式,且只作用於一個檔案,那麼最好就放到包含main主函式的c++原始檔中

如何在c++標頭檔案中定義函式,然後在原始檔中使用

2樓:大野瘦子

/*在text。h標頭檔案中進行宣告*/

#include

using namespace std;

void display(int,int);/*使用該函式來實現輸出*/

/*在texxt。cpp中進行定義,注意第一行,很重要因為不是c++標準庫中的標頭檔案,所以不能用<>,而要用""括起標頭檔案*/

#include "text.h"

void display(int x,int y)/*在主函式中進行呼叫函式*/

#include "text.h"

int main()

3樓:匿名使用者

一般為了安全性,只在標頭檔案中進行宣告,而不定義,在其它檔案中進行定義。給你個例子。因為我學了才一年,所以沒法給你說過多的理論,給你兩個例子你好好體會把。

簡單例子實現輸出兩個資料。

/*在text。h標頭檔案中進行宣告*/

#include

using namespace std;

void display(int,int);/*使用該函式來實現輸出*/

/*在texxt。cpp中進行定義,注意第一行,很重要因為不是c++標準庫中的標頭檔案,所以不能用<>,而要用""括起標頭檔案*/

#include "text.h"

void display(int x,int y)

下面這個例子實現類的標頭檔案中宣告,實現2*3矩陣的加法運算,並進行過載輸入輸出流。

在/*matrix。h中宣告*/

#include

class matrix

;/*在matrix。cpp中進行定義*/

#include "matrix.h"

return x;

}istream& operator>>(istream& w,matrix& y)

return w;

}ostream& operator <<(ostream & x,matrix& z)

4樓:匿名使用者

可以在原始檔中新增另一個原始檔嗎?好像只能新增標頭檔案哦,在c++中。你要程式執行正確,就要建一個標頭檔案,然後在標頭檔案中宣告函式,當然函式體的定義一般建義是在另一個原始檔中定義,在另一個原始檔中定義標頭檔案中宣告的函式時應使用#include語句把標頭檔案包含進來才行。

然後你在在主程式中的原始檔中使用#include把標頭檔案包含進來就沒錯了,下面舉個例子給你看下。

//標頭檔案hyong.h的內容如下

#ifndef hy //一般在標頭檔案都都使用這種格式以防止標頭檔案在同一檔案中被包含兩次。語名#ifndef hyong.....#endi表示僅當以前沒有使用前處理器編譯指令#define定義的名稱hyong時才處理#ifndef....

#endif之間的語句。

#define hy //在這裡用define定義一個名字hy,以便在下次訪問到該標頭檔案時,使該名字已經被定義,從而讓程式跳過#ifndef....#endif間的語句。

void g(); //在標頭檔案中宣告一個函式g();

#endif

//定義標頭檔案中宣告的函式的原始檔hyong.cpp的內容如下

#include "stdafx.h" //注意:在vc++中所有的原始檔中都要包含這條語句。

#include "hyong.h" //將標頭檔案hyong.h包含進來,這裡使用雙引號,而不是引號,以便能更快地檢查到該標頭檔案中定義的名字

#include

using namespace std;

void g() //定義標頭檔案hyong.h中宣告的函式g()

//主程式原始檔ff.cpp的內容如下

#include "stdafx.h"

#include

#include "hyong.h" //注意,主程式和hyong.cpp的檔案中都包含了這個標頭檔案。

using namespace std;

int main()

5樓:

在標頭檔案(如test.h)中定義函式,在同名原始檔(如test.cpp)中寫函式的實現,再寫增加一個主函式原始檔main.

cpp,同名原始檔與主函式原始檔中包含標頭檔案,標頭檔案中加入巨集定義:

#ifndef test_h__

#define test_h__

#endif //test_h__

c++ main函式呼叫其他檔案中定義的類的方法, 加了該類的標頭檔案,為什麼編譯時還是提示未定義?

6樓:匿名使用者

哪個未定義啊。要貼出來啊, 方便大家幫你。

大家給你方便,你這是不給大家方便啊

而且**寫成這樣。。。哎。!

7樓:匿名使用者

連結錯誤,不是編譯錯誤,用什麼編譯的,把test這兩個檔案加到工程了嗎

8樓:匿名使用者

**風格完全有問題,這樣根本不好排錯,也不好給別人看。要知道,**寫出來是給人看的,如果人都看得頭大,那麼基本上**就沒有什麼意義了。按照標準的c++風格寫一遍後,看看是什麼錯誤。

mysql自定義函式怎麼寫

mysql create function helloworld4 returns varchar 20 begin return hello world e69da5e6ba9062616964757a686964616f31333365643538 end query ok,0 rows aff...

Excel中怎樣自定義函式

自定義函式bai,一般用vb,下面以du 長方體的體積公式zhi為例,詳細dao 一步步介紹版 1 開啟 excle後,按權alt f11,開啟 visual basic編輯器 2 visual basic編輯器 中,選擇 插入 模組 3 在如圖的位置,輸入以下 function mj a,b,c ...

VBA Formula自定義函式引數如何使用物件或自定義變數。如下執行,型別錯誤

dim listval as 概要報告 沒有這種型別 請問在excel的vba中使用自定義函式,我定義了引用引數的資料型別,系統就報錯。請問這是為什麼?你已經定義了一個引數的資料型別,如果要改變,只能說是重新定義了該引數的資料型別 vba 自定義函式,引數設定問題 1 型別是string 2 如果你...