dbt.cpp

来自「数据库实验」· C++ 代码 · 共 82 行

CPP
82
字号
#include <string>
 using namespace std;
#include <iostream>
#include <stdio.h>
#include "DBT.h"
 DBT::DBT()
 {

 }
 DBT::DBT(string& getdata,int& getsize)
 {
	 data=getdata;
	 size=getsize;
 }
 DBT::DBT(string& getdata)
 {
	 data=getdata;
	 size=getdata.size();
 }

 DBT::~DBT()
	 {
		 
	 }
 DBT  DBT::operator=(string& object)
 {
	 data=object;
	 size=object.size();
	 return *this;
 }

 DBT  DBT::operator=(DBT& object)
	 
 {   
     data=object.data;
	 size=object.size;
	 return *this;
 }
 string DBT::getstring()
 {
	 return data;
 }
 int DBT::stringsize()
 {
	 return size;
 }
 int DBT::totalsize()
 {
	 return size+4;
 }
 ostream& operator<<(ostream& stream,DBT& object)
 {
	 stream<<object.data;
	 return stream;
 }
 istream& operator>>(istream& stream,DBT& object)
  {   
	  //cout<<"please enter the key:"<<endl;
	  string temp;
	  //cout<<"please enter:"<<endl;
	  stream>>temp;
	  object.data=temp;
	  object.size=temp.size();
	  return stream;
  }
int DBT::operator==(DBT& object)
  {
	  if(data==object.data&&size==object.size)
		  return 1;
	  else 
		   return 0;
  }



DBT::operator char*()// size and data are converted to char*, size is in front of data
{     const int datasize=4+size;
	  char *buff=new char[datasize];//here may have a problem
	  memcpy(buff,&size,4);
	  strcpy(buff+4,data.data());
	  return buff;
  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?