M
Michael
Hi,
I'm writing a vector class:
//mv3.h
class mv3Impl;
class mv3
{
public:
mv3();
mv3(mv3&);
mv3& operator= ( const mv3& RHS);
private:
mv3Impl* pImpl;
};
//mv3.cpp
class mv3Impl
{
public:
float x,y,z;
};
mv3::mv3()
{
pImpl = new mv3Impl;
pImpl->x = pImpl->y = pImpl->z = 1.0f;
}
mv3::mv3(mv3& v)
{
pImpl = new mv3Impl;
*pImpl = *(v->pImpl);
}
mv3& mv3:perator= ( const mv3& RHS)
{
pImpl = new mv3Impl; /* <----------------Do I need this line??
*/
*pImpl = *(RHS->pImpl);
}
Do i need the line that allocates memory or will this create a memory leak?
What functions are called in:
mv3 a;
mv3 b = a;
??
Thanks
Mike
I'm writing a vector class:
//mv3.h
class mv3Impl;
class mv3
{
public:
mv3();
mv3(mv3&);
mv3& operator= ( const mv3& RHS);
private:
mv3Impl* pImpl;
};
//mv3.cpp
class mv3Impl
{
public:
float x,y,z;
};
mv3::mv3()
{
pImpl = new mv3Impl;
pImpl->x = pImpl->y = pImpl->z = 1.0f;
}
mv3::mv3(mv3& v)
{
pImpl = new mv3Impl;
*pImpl = *(v->pImpl);
}
mv3& mv3:perator= ( const mv3& RHS)
{
pImpl = new mv3Impl; /* <----------------Do I need this line??
*/
*pImpl = *(RHS->pImpl);
}
Do i need the line that allocates memory or will this create a memory leak?
What functions are called in:
mv3 a;
mv3 b = a;
??
Thanks
Mike