추상클래스를 상속받아 인스턴스를 만들때는 자식클래스 어딘가에선 추상클래스의 모든함수=0; 을 실질적으로 자식에서 정의하는것이 좋다
빈 함수일지라도..
class objectBase_sjh{
public :
virtual ~objectBase_sjh()=0;
virtual HRESULT renderGeoMatricalNormal()=0;
};
objectBase_sjh::~objectBase_sjh()
{
}
class objectCommon_sjh : public objectBase_sjh{
protected:
typedef std::vector<TEXTUREINFO_SJH> vecTextureInfo_sjh;
objectCommon_sjh(){}
public :
};
class xFileObject_sjh : public objectCommon_sjh{
public :
public :
xFileObject_sjh(){}
~xFileObject_sjh(){}
explicit xFileObject_sjh( LPDIRECT3DDEVICE9 pD3dDevice,
std::wstring xFileName=_T(""),
std::wstring textureName=_T(""),
const std::wstring& directoryPath=_T("images/") ) { }
public :
virtual HRESULT renderGeoMatricalNormal(){ return S_OK; } //이 함수를 지우면 에러가 발생한다, 추상클래스의 함수가 실제 정의되지 않게됨으로
};
typedef boost::shared_ptr<xFileObject_sjh> spXFile_sjh;
int main()
{
LPDIRECT3DDEVICE9 _pD3dDevice;
spXFile_sjh( 인자값 ) );
return 0;
}
'프로그래밍(Programming) > c++, 11, 14 , 17, 20' 카테고리의 다른 글
0xfeeefeee : HeapFree()하고 난 뒤 해당 메모리 영역에 들어가는 값 (0) | 2013.03.10 |
---|---|
에러코드 문자열로 변환 : FormatMessage (0) | 2013.03.07 |
Effective C++ 정리 (0) | 2013.03.01 |
Pure Virtual Destructor (순수 가상 소멸자) (0) | 2013.03.01 |
operator [] 를 정의하지 않고 사용하기 (0) | 2013.02.27 |