私は C++ で書かれた配布可能なライブラリを構築するのが初めてで、少し迷っています。ライブラリでユーザーに提供するすべての関数のラッパーを含む .cpp ファイルを作成し、パブリックとプライベートの 2 つの .h ファイルを作成しました。以下は私のヘッダーファイルのダミーの例です:
public.h:
class myclass
{
public:
public_function();
private:
}
private.h:
class myclass
{
public:
public_function();
private:
anotherClass instanceofClass;
}
public_function()
の実装では、コードで「instanceofClass」を使用することに注意してください。プライベート クラスを使用してコードを問題なくコンパイルし、パブリック ヘッダーとコンパイル済みライブラリを使用してライブラリをコンパイルし、外部プログラムとリンクすることができました。ただし、そのコードを実行すると、「instanceofClass」の適切な初期化の欠如に関係していると思われるセグメンテーション違反が発生します。
私は正しいことをしていますか?適切に初期化するために、実装内で「instanceofClass」をインスタンス化public_function()
する必要がありますか、または代わりに他にすべきことはありますか?
どうもありがとう。