boxptr.cpp

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

CPP
38
字号
// BoxPtr.cpp
#include <iostream>
#include "List.h"
#include "BoxPtr.h"
using std::cout;
using std::endl;

BoxPtr::BoxPtr(TruckLoad& load):rLoad(load) {
  pBox = rLoad.getFirstBox();
}

Box& BoxPtr::operator*() const {
  if(pBox)
    return *pBox;
  else   {
    cout << endl << "Dereferencing null BoxPtr";
    exit(1);
  }
}

Box* BoxPtr::operator->() const {
  return pBox;
}

Box* BoxPtr::operator++() {
  return pBox = rLoad.getNextBox();
}

const Box* BoxPtr::operator++(int) {
  Box* pTemp = pBox;
  pBox = rLoad.getNextBox();
  return pTemp;
}

BoxPtr::operator bool() {
  return pBox != 0;
}

⌨️ 快捷键说明

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