C++使用extern實(shí)現(xiàn)源文件變量與類成員函數(shù)的巧妙共享
概述:在C++中,使用`extern`關(guān)鍵字可實(shí)現(xiàn)在源文件之間共享變量與類成員函數(shù)。通過聲明變量或類在頭文件中,再在一個(gè)源文件中定義,其他源文件通過`extern`引用,促使模塊化、可維護(hù)的代碼組織。
在C++中,extern關(guān)鍵字可用于在源文件之間共享變量。它告訴編譯器某個(gè)變量的聲明在其他源文件中,其定義在當(dāng)前源文件之外。以下是基礎(chǔ)和高級功能的示例:
基礎(chǔ)功能:
示例源代碼:
// 文件: variable.h #pragma once // 在頭文件中聲明變量,不進(jìn)行定義 extern int sharedVariable;
// 文件: file1.cpp #include "variable.h" // 在源文件中定義變量 int sharedVariable = 42;
// 文件: file2.cpp #include <iostream> #include "variable.h" // 在另一個(gè)源文件中使用共享變量 extern int sharedVariable; int main() { std::cout << "共享變量的值:" << sharedVariable << std::endl; return 0; }
在這個(gè)示例中,variable.h頭文件聲明了sharedVariable,而file1.cpp源文件定義了這個(gè)變量。在file2.cpp中,通過extern關(guān)鍵字引用了sharedVariable,并打印了其值。
高級功能:
示例源代碼:
// 文件: shared.h #pragma once class SharedClass { public: void DisplayMessage(); };
// 文件: file1.cpp #include "shared.h" #include <iostream> // 定義類的成員函數(shù) void SharedClass::DisplayMessage() { std::cout << "Hello from SharedClass!" << std::endl; }
// 文件: file2.cpp #include "shared.h" int main() { // 引用已定義的類成員函數(shù) SharedClass sharedObject; sharedObject.DisplayMessage(); return 0; }
在這個(gè)示例中,shared.h頭文件聲明了SharedClass類,并在file1.cpp源文件中定義了它的成員函數(shù)。然后,在file2.cpp中使用了SharedClass,并調(diào)用了它的成員函數(shù)。
這兩個(gè)示例展示了使用extern在源文件之間共享變量和類成員函數(shù)的方法,有助于實(shí)現(xiàn)模塊化的代碼結(jié)構(gòu)。
到此這篇關(guān)于C++共享之道:用extern實(shí)現(xiàn)源文件變量與類成員函數(shù)的巧妙共享的文章就介紹到這了,更多相關(guān)C++ extern源文件變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++中std::priority_queue的使用小結(jié)
std::priority_queue是C++ STL提供的優(yōu)先隊(duì)列,本文主要介紹了C++中std::priority_queue的使用小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2025-04-04Qt重寫QStackedWidget模擬實(shí)現(xiàn)home界面滑動效果
這篇文章主要為大家詳細(xì)介紹了Qt如何通過重寫QStackedWidget模擬實(shí)現(xiàn)home界面滑動效果,文中的實(shí)現(xiàn)過程講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-11-11使用mmap實(shí)現(xiàn)多進(jìn)程對大文件拷貝
這篇文章主要介紹了使用mmap實(shí)現(xiàn)多進(jìn)程對大文件拷貝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10C++進(jìn)程共享數(shù)據(jù)封裝成類實(shí)例
這篇文章主要介紹了C++進(jìn)程共享數(shù)據(jù)封裝成類的方法,以實(shí)例形式講述了其封裝代碼與具體用法,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10Cocos2d-x UI開發(fā)之CCControlButton控件類實(shí)例
這篇文章主要介紹了Cocos2d-x UI開發(fā)之CCControlButton控件類實(shí)例,本文代碼中包含大量注釋來講解CCControlButton控件類的使用,需要的朋友可以參考下2014-09-09