Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk memanggil fungsi dalam modul yang berbeza dalam C++?

Bagaimana untuk memanggil fungsi dalam modul yang berbeza dalam C++?

WBOY
Lepaskan: 2024-04-12 15:54:02
asal
1134 orang telah melayarinya

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.

C++ 中如何在不同模块中调用函数?

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);
Salin selepas log masuk

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;
}
Salin selepas log masuk

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
Salin selepas log masuk
Salin selepas log masuk

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. moduleAmoduleBmoduleA 中有一个函数名为 greet()moduleB 中有一个函数名为 print()。我们希望能够从 moduleB 中调用 moduleA 中的 greet() 函数。

moduleA.h 中声明 greet() 函数:

// moduleA.h
void greet(string name);
Salin selepas log masuk

moduleA.cpp 中实现 greet() 函数:

// moduleA.cpp
void greet(string name) {
  cout << "Hello, " << name << "!" << endl;
}
Salin selepas log masuk

moduleB.cpp 中,使用头文件 moduleA.h 并调用 greet()

Isytihar fungsi greet() dalam moduleA.h:

// moduleB.cpp
#include "moduleA.h"

void print() {
  greet("John");
}
Salin selepas log masuk

Laksanakan greet()< dalam <code>moduleA.cpp / kod> Fungsi:

g++ -o executable moduleA.o moduleB.o
Salin selepas log masuk
Salin selepas log masuk

Dalam moduleB.cpp, gunakan fail pengepala moduleA.h dan panggil greet() Fungsi:

./executable
Salin selepas log masuk

Pautkan dua modul: 🎜
Hello, John!
Salin selepas log masuk
🎜Jalankan boleh laku: 🎜rrreee 🎜Output: 🎜rrreee

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan