次のようなヘッダーのみのレイアウトで C++ アプリケーションをコーディングしたいと思っています。
// code3.h
#include <iostream>
class code3
{
public:
void print()
{
std::cout << "hello " << std::endl;
}
};
// code2.h
#include "code3.h"
class code2
{
public:
void print()
{
code3 c;
c.print();
}
};
// code1.h
#include "code3.h"
class code1
{
public:
void print()
{
code3 c;
c.print();
}
};
// main.cpp
#include "code1.h"
#include "code2.h"
int main()
{
code1 c1;
c1.print();
code2 c2;
c2.print();
}
唯一の cpp ファイルがメイン ファイルになります。残りのコードはヘッダー ファイルに配置されます。
このアプローチに何らかのパフォーマンス上の問題があるかどうかを知りたいです。クラス宣言でメソッドを定義するとインライン化されることはわかっていますが、cpp ファイルが 1 つだけになるため、インライン メソッドが重複することはありません。パフォーマンスに焦点を当てて質問したいだけです。拡張性、読みやすさ、メンテナンスなどについて話しているのではありません。このアプローチで、パフォーマンスの問題を引き起こす可能性のある何かが欠けているかどうかを知りたいです。
ありがとう!