Fungsi panggilan merentas modul dalam C++: Isytihar fungsi: Isytihar fungsi yang akan dipanggil dalam fail pengepala modul sasaran. Laksanakan fungsi: Laksanakan fungsi dalam fail sumber. Memautkan modul: Gunakan pemaut untuk memautkan bersama modul yang mengandungi pengisytiharan dan pelaksanaan fungsi. Panggil fungsi: Sertakan fail pengepala modul sasaran dalam modul yang perlu dipanggil, dan kemudian panggil fungsi tersebut.
Memanggil fungsi merentas modul dalam C++
Dalam C++, menyusun kod ke dalam modul berbeza boleh meningkatkan kebolehselenggaraan dan kebolehgunaan semula apabila skala projek meningkat. Modul juga membenarkan fungsi dan pembolehubah dikongsi antara modul yang berbeza. Tutorial ini akan memperkenalkan cara memanggil fungsi merentas modul dan menyediakan kes praktikal.
Fail pengepala dan fail sumber
Setiap modul mengandungi dua fail: fail pengepala dan fail sumber. Fail pengepala mengandungi pengisytiharan fungsi dan pembolehubah, manakala fail sumber mengandungi pelaksanaannya.
Pengisytiharan fungsi
Untuk menjadikan fungsi dalam satu modul boleh dipanggil daripada modul lain, fungsi itu mesti diisytiharkan dalam fail pengepala. Pengisytiharan fungsi menentukan jenis pemulangan, nama, parameter dan jenis pemulangan fungsi. Contohnya:
// moduleA.h int sum(int a, int b);
Pelaksanaan fungsi
Dalam fail sumber, laksanakan fungsi. Fail sumber mengandungi kod sebenar fungsi. Contohnya:
// moduleA.cpp int sum(int a, int b) { return a + b; }
Modul terpaut
Untuk pengkompil mengetahui di mana pengisytiharan dan pelaksanaan fungsi, modul perlu dipautkan bersama. Ini boleh dilakukan menggunakan penghubung, yang menggabungkan fail objek modul berbeza ke dalam satu fail boleh laku. Dalam baris arahan, gunakan arahan berikut untuk memautkan modul:
g++ -o executable moduleA.o moduleB.o
Kes praktikal
Katakan kita mempunyai dua modul: moduleA
dan moduleB
. Terdapat fungsi bernama greet()
dalam moduleA
dan terdapat fungsi bernama print()
dalam moduleB
. Kami mahu dapat memanggil fungsi greet()
dalam moduleA
daripada moduleB
. moduleA
和 moduleB
。moduleA
中有一个函数名为 greet()
,moduleB
中有一个函数名为 print()
。我们希望能够从 moduleB
中调用 moduleA
中的 greet()
函数。
在 moduleA.h
中声明 greet()
函数:
// moduleA.h void greet(string name);
在 moduleA.cpp
中实现 greet()
函数:
// moduleA.cpp void greet(string name) { cout << "Hello, " << name << "!" << endl; }
在 moduleB.cpp
中,使用头文件 moduleA.h
并调用 greet()
greet()
dalam moduleA.h
: // moduleB.cpp #include "moduleA.h" void print() { greet("John"); }
greet()< dalam <code>moduleA.cpp
/ kod> Fungsi: g++ -o executable moduleA.o moduleB.o
moduleB.cpp
, gunakan fail pengepala moduleA.h
dan panggil greet()
Fungsi: ./executable
Hello, John!
Atas ialah kandungan terperinci Bagaimana untuk memanggil fungsi dalam modul yang berbeza dalam C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!