c_cpp 在C ++中使用运算符和链方法的示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 在C ++中使用运算符和链方法的示例相关的知识,希望对你有一定的参考价值。

#include <iostream>

//null pointer example

//base class
class Base
{
  private:
  int type;
  Base* next;
  Base* prev;
  public:
  ~Base()
  {
    delete next;
    delete prev;
  }
  int getType()
  {
    return type;
  }
  
  void setType(int t)
  {
    type = t;
  }
  //gets the next element
  Base* getNext()
  {
    return next;
  }
  
  Base* setNext(Base* b)
  {
    next = b;
    b->prev = this;
    return this;
  }
  
  //is null method
  bool nextIsNull()
  {
    return next == NULL;
  }
  
  void conNext(Base* b)
  {
    next = b; b->prev = this;
  }
};

class IntObj: public Base
{
  public:
  long value;
  //constructor with init list
  IntObj(long val): value(val)
  {
    setType(3);
  }
  
  long getValue()
  {
    return value;
  }
  
  void setValue(long value)
  {
    value = value;
  }
};

Base operator+(Base left, Base right)
{
  left.conNext(&right);
  return left;
}


int main() {
  //chaining call
  Base* b = new IntObj(8);
  Base* c = new IntObj(6);
  b->setNext(c)->setNext(new IntObj(4));
}

以上是关于c_cpp 在C ++中使用运算符和链方法的示例的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 在linux中使用fanotify API的示例

c_cpp 如何在使用OMNeT ++框架构建的NB-IoT模拟器中检测数据包的示例。

在 obj-c/C++ 中使用 UDP 的示例?

有没有在 Windows 上用 C 语言使用 winhttp 的完整例子?

JSON数据格式C语言解析库(cJSON)的使用&在STM32上移植和使用

我们如何在C,C ++中控制/调度线程的执行?