このようなクラスを考えます。
class Aho
{
public:
int x;
};
class MyClass
{
private:
Aho aho;
public:
int funcA(){return aho.x+1;}
int funcB(){return aho.x+2;}
};
//------------Aho.h
class Aho
{
public:
int x;
};
//--------------------MyClass.h
#include"Aho.h"
class MyClass
{
private:
Aho aho;
public:
int funcA();
int funcB();
}
//-----------A.cpp
#include"MyClass.h"
int MyClass::FuncA(){return aho.x+1;}
//-------------------B.cpp
#include"MyClass.h"
int MyClass::FuncB(){return aho.x+2;}
class MyClass
{
private:
class Impl;//中身はpublicのAho
Impl *pimpl;
public:
int funcA();
int funcB();
}
しかし、両方のソースでImplを定義するのは多重定義になりそうだし、そもそも同じコードを二回も書くのが個人的に気にくわないです^^;
そこで、今回の質問ですが、
- PImplイディオムを使う場合、クラスの定義を複数のソースファイルに分割することは可能か?
- 可能だとしたら、Implクラスの定義を一つにまとめることは可能か?
よろしくお願いします<(_ _)>
オフトピック
プログラムの質問とは全く関係ないのですが
プログラムと関係なくて申し訳ないです^^;
- 特定の方に返信したいとき
- BBCode中でタブインデントを使いたいとき
- BBCode中で水平線を使いたいとき
プログラムと関係なくて申し訳ないです^^;