一段C++的代码,请各位高手帮我看一下?
ZQGet 2005-03-13 12:30:56 //说明:我使用的是C++ Builder 6.0,以下代码使用的时候老是出错,请高手帮忙看一下!
//类声明:
class TTile{
private:
Graphics::TBitmap * FBit;//存储图片的Bitmap
public:
TTile(AnsiString sFileName);
TTile(TStream * Stream);
~TTile();
//重载=运算符以便对象间直接赋值
TTile& operator=(const TTile& T);
void Init();
//拷贝构造函数
TTile(const TTile& T);
void loadFromStream(TStream * Stream);
void saveToStream(TStream * Stream);
__property Graphics::TBitmap * Bit = { read=FBit };
};
//类实现:
TTile::TTile(AnsiString sFileName)
{
//TODO: Add your source code here
Init();
FBit->LoadFromFile(sFileName);
}
TTile::TTile(TStream * Stream)
{
//TODO: Add your source code here
Init();
loadFromStream(Stream);
}
void TTile::Init()
{
FBit = new Graphics::TBitmap;
FBit->Width = TILE_WIDTH;
FBit->Height = TILE_HEIGHT;
//设置屏蔽色
FBit->Transparent = true;
FBit->TransparentColor = TRANSPARENT_COLOR;
}
void TTile::loadFromStream(TStream * Stream)
{
//TODO: Add your source code here
TReader* Reader = new TReader(Stream, 2048);
try
{
//加载图形
FBit->LoadFromStream(Stream);
Reader->FlushBuffer();
}
__finally
{
delete Reader;
}
}
void TTile::saveToStream(TStream * Stream)
{
//TODO: Add your source code here
TWriter* Writer = new TWriter(Stream, 2048);
try
{
//存储图片
FBit->SaveToStream(Stream);
Writer->FlushBuffer();
}
__finally
{
delete Writer;
}
}
TTile& TTile::operator=(const TTile &T)
{
if (this != &T)
{
FBit->Assign(T.FBit);//出错代码
}
return *this;
}
TTile::TTile(const TTile& T)
{
*this = T;
}
TTile::~TTile()
{
delete FBit;
}