首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ 类构造对象的有关问题

2013-02-24 
C++ 类构造对象的问题类的定义是这样的:class FileOperation{public:/*写文件时调用此函数构造对象*/FileO

C++ 类构造对象的问题
类的定义是这样的:

class FileOperation
{
public:
/*写文件时调用此函数构造对象*/
FileOperation(string cli);  
/*读文件时调用此函数构造对象*/
FileOperation(string cli,string FileName);

~FileOperation();
intFileWrite(struct RtpPack rtp);
int FileRead(struct RtpPack &rtp);
void Test() {cout<<FileName<<"\t"<<FileDir<<"\t"<<client<<"\t"<<StartHour<<"\t"<<StartMin<<"\t"<<StartSec<<endl;}
protected:

int GetFileDir();
int GetFileName();
int GetFileFp();
string CreateFileDir();
void UpdateWriteFile();
unsigned long GetFileSize();
bool IsOvertime();
bool IsFileMax();

private:
string FileName;
string FileDir;
string client;
FILE *fp;

int StartHour;
int StartMin;
int StartSec;

static map<string,string> ClientDirMap;   //所有设备相应目录列表



问题:
FileOperation FileObj = FileOperation("111");
FileObj.FileWrite(rtp);
这种方式为何不能把rtp结构体写入文件
/*FileOperation *FileObj = new FileOperation("111");
FileObj->FileWrite(rtp);*/
这种方式可以正确的吧rtp结构体写入文件
   本人猜测是不用new的时候 FILE *fp 没有分配内存 所有写入失败,这样的话我该怎么做呢!
[解决办法]
换成这样试一下呢.

FileOperation FileObj("111");
FileObj.FileWrite(rtp);

ps. 都用 c++ 了,就用 std::ofstream 吧.
[解决办法]
有动态分配内存的类,请重载所有的构造函数,拷贝构造函数,析构函数和赋值运算符

热点排行