errormessage.cpp

来自「一本语言类编程书籍」· C++ 代码 · 共 40 行

CPP
40
字号
// ErrorMessage.cpp ErrorMessage class implementation
#include <cstring>
#include "ErrorMessage.h"
using std::cout;
using std::endl;

// Constructor
ErrorMessage::ErrorMessage(const char* pText) {
  pMessage = new char[ strlen(pText) + 1 ];             // Get space for message
  std::strcpy(pMessage, pText);                         // Copy to new memory
}

// Destructor to free memory allocated by new
ErrorMessage::~ErrorMessage() {
  cout << endl << "Destructor called." << endl;
  delete[] pMessage;                                    // Free memory for message
}

// Change the message
void ErrorMessage::resetMessage() {
  // Replace message text with asterisks
  for(char* temp = pMessage ; *temp != '\0' ; *(temp++) = '*')
    ;
}

// Assignment operator
ErrorMessage& ErrorMessage::operator=(const ErrorMessage& message) {
  if(this == &message)                              // Compare addresses, if equal
    return *this;                                   // return left operand

  delete[] pMessage;                                // Release memory for left operand
  pMessage = new char[ strlen(message.pMessage) + 1];

  // Copy right operand string to left operand
  std::strcpy(this->pMessage, message.pMessage);

  return *this;                                     // Return left operand
}

⌨️ 快捷键说明

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