私は、C++クラスのいくつかの高度な点、可能な限り(または少なくともGNUとの)コンパイラ/ビルトイン関数を題材にしています。これらのすべては、(大規模かつ広範な)作業プロジェクトのロガーコンセプトに基づいています。これは、この擬似コードに私をもたらします:基本クラス関数の自動呼び出し
class Base {
public:
void increment(){
++m_Val;
}
private:
static int m_Val;
};
class Above : private Base{
public:
void doA(){
//Foo
}
void doB(){
//Bar
}
};
概念として示されたこと。ベースの単なる継承で、doA()
とdoB()
は暗黙のうちに基本関数increment()
を暗黙的に呼び出すことができます。私は実際にそれを継承するすべての単一クラスの関数ごとにincrement()
に関数呼び出しを追加しますか?直接的な答えではない場合、私は何をしたいのために特別な言葉が呼ばれていますか? Boostや他の図書館の一部として提供されていますか?
私はそれが存在するとは思わない。 –
[アスペクト指向プログラミング](https://en.wikipedia.org/wiki/Aspect-oriented_programming)に興味があるかもしれません。 – AlexD
@ DanielA.White私が恐れていたことは間違いありません。私はC++がまだ「成長している」言語であることは知っていますが、「ハッキーコード」を使用してそれを行う方法があるかどうかは分かりませんでした。 – M4rc