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

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

WBOY
WBOYasal
2024-04-12 15:54:021025semak imbas

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);

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. moduleAmoduleBmoduleA 中有一个函数名为 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()

Isytihar fungsi greet() dalam moduleA.h:

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

void print() {
  greet("John");
}

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

g++ -o executable moduleA.o moduleB.o

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

./executable

Pautkan dua modul: 🎜
Hello, John!
🎜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!

Kenyataan:
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