C++使用extern實現(xiàn)源文件變量與類成員函數(shù)的巧妙共享
概述:在C++中,使用`extern`關(guān)鍵字可實現(xiàn)在源文件之間共享變量與類成員函數(shù)。通過聲明變量或類在頭文件中,再在一個源文件中定義,其他源文件通過`extern`引用,促使模塊化、可維護的代碼組織。
在C++中,extern關(guān)鍵字可用于在源文件之間共享變量。它告訴編譯器某個變量的聲明在其他源文件中,其定義在當前源文件之外。以下是基礎(chǔ)和高級功能的示例:
基礎(chǔ)功能:
示例源代碼:
// 文件: variable.h #pragma once // 在頭文件中聲明變量,不進行定義 extern int sharedVariable;
// 文件: file1.cpp #include "variable.h" // 在源文件中定義變量 int sharedVariable = 42;
// 文件: file2.cpp #include <iostream> #include "variable.h" // 在另一個源文件中使用共享變量 extern int sharedVariable; int main() { std::cout << "共享變量的值:" << sharedVariable << std::endl; return 0; }
在這個示例中,variable.h頭文件聲明了sharedVariable,而file1.cpp源文件定義了這個變量。在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; }
在這個示例中,shared.h頭文件聲明了SharedClass類,并在file1.cpp源文件中定義了它的成員函數(shù)。然后,在file2.cpp中使用了SharedClass,并調(diào)用了它的成員函數(shù)。
這兩個示例展示了使用extern在源文件之間共享變量和類成員函數(shù)的方法,有助于實現(xiàn)模塊化的代碼結(jié)構(gòu)。
到此這篇關(guān)于C++共享之道:用extern實現(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)先隊列,本文主要介紹了C++中std::priority_queue的使用小結(jié),具有一定的參考價值,感興趣的可以了解一下2025-04-04Qt重寫QStackedWidget模擬實現(xiàn)home界面滑動效果
這篇文章主要為大家詳細介紹了Qt如何通過重寫QStackedWidget模擬實現(xiàn)home界面滑動效果,文中的實現(xiàn)過程講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2022-11-11Cocos2d-x UI開發(fā)之CCControlButton控件類實例
這篇文章主要介紹了Cocos2d-x UI開發(fā)之CCControlButton控件類實例,本文代碼中包含大量注釋來講解CCControlButton控件類的使用,需要的朋友可以參考下2014-09-09