我有在頭文件和一個類的接口及其在一個單獨的源文件執行此代碼:隱藏類實現
第一:頭文件「Gradebook.h」
#include <string>
using namespace std;
class Gradebook{
public:
Gradebook(string);
void setCoursename(string);
string getCoursename();
void displayMessage();
private:
string nameofCourse;
};
第二:「Gradebook.cpp」
#include "stdafx.h"
#include "Gradebook.h"
#include <iostream>
using namespace std;
Gradebook::Gradebook(string name){
setCoursename(name);
}
void Gradebook::setCoursename(string name){
nameofCourse = name;
}
string Gradebook::getCoursename(){
return nameofCourse;
}
void Gradebook::displayMessage(){
cout << "Display message function shows :" << getCoursename() << endl;
}
實現我如何能以僅在其他項目中使用「Gradebook.h」,並隱藏我的實現鏈接來回這兩個單獨的文件客戶程序員?
您可以將實現預編譯爲靜態或動態加載庫。 –
關閉VS項目中的預編譯頭文件,以便能夠刪除'stdafx.h'廢話。 –
將.cpp編譯爲一個dll,使用「pimpl idiom」隱藏數據成員和私有方法。 –