我想分開類(.cpp文件)的長執行到單獨的文件中。只有一個類的單獨imeplementation文件(cpp文件)分成單獨的文件
例如,考慮我有10個函數裏面的所有這10個函數的內部和實現.cpp文件包含大約200行代碼。
現在,問題是如何將所有這些功能分離成單獨的文件,當他們所有人在一起做一個類。
這是通過內部報頭(classA.h)文件的代碼的示例:
Class A{
A();
~A();
double add(double a1, double a2);
double subtract(double a1, double a2);
double multiply(double a1, double a2);
double divide(double a1, double a2);
}
相應cpp文件是:
#include "classA.h"
double A::add(double a1, double a2){
// around 5 lines of code
subtract(a1, a2); // **add also calls subtract function**
}
double A::subtract(double a1, double a2){
// around 5 lines of code
}
double A::multiply(double a1, double a2){
// around 5 lines of code
}
double A::divide(double a1, double a2){
// around 5 lines of code
}
現在,假設我想分離此。 cpp文件來分隔名爲「add.cpp」的文件,......所有這些文件都在實現一個類的功能。
將這些函數分離成單獨文件的問題是他們不知道類的功能! (不過,我把這個類的.h文件包含到文件中!)
你的建議是什麼?
應該沒有問題。每個cpp文件是一個**獨立的**編譯單元(即,當開始處理一個單元時,編譯器將「忘記從前一單元中知道的所有東西」)。 –
這就是頭文件及其類定義的用途。 –
有一點需要考慮,如果你的類函數定義佔用了太多的空間以至於需要將它們分離出來,那麼你的類可能會做得太多。 – RyanP