record.cxx
来自「vovida的软交换」· CXX 代码 · 共 79 行
CXX
79 行
#include "Record.hxx" // class's header file
#include "TestRecord.hxx"
#include "UpdateRegInfoRec.hxx"
#include <iostream>
#include <cstdlib>
// class constructor
Record::Record() {
setRecordType(GENERIC_REC);
}
// class destructor
Record::~Record() {}
void Record::displayRecord(string prefix) {
cout << prefix << ": Key:" << key << "\n"
<< prefix << ": TimeStame:" << ctime(&lastAccessed)
<< prefix << ": RecordType:" << stringRecordType(recordType)
<< " (" << recordType << ")" << "\n";
}
Record* Record::createNewRecord(RecordType rec) {
switch (rec) {
case TEST_REC:
return new TestRecord;
break;
case UPDATE_REG_INFO_REC:
return new UpdateRegInfoRec;
break;
default:;
}
return NULL;
}
void Record::copyData(Record* rec) {
rec->setKey(key);
rec->setLastAccessed(lastAccessed);
}
const string Record::TEST_REC_STR("TEST_RECORD");
const string Record::GENERIC_REC_STR("GENERIC_RECORD");
const string Record::UPDATE_REG_INFO_REC_STR("UPDATE_REG_INFO_RECORD");
string Record::stringRecordType(RecordType rType) {
switch (rType) {
case GENERIC_REC:
return GENERIC_REC_STR; break;
case TEST_REC:
return TEST_REC_STR; break;
case UPDATE_REG_INFO_REC:
return UPDATE_REG_INFO_REC_STR; break;
default:;
}
return "UNKNOWN RECORD";
}
RecordType Record::convertStrRType(string s) {
if (s.compare(TEST_REC_STR) == 0) return TEST_REC;
if (s.compare(UPDATE_REG_INFO_REC_STR) == 0) return UPDATE_REG_INFO_REC;
return GENERIC_REC;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?