C++:在条件语句中检查对象是否为空

标签 c++

您将如何检查对象是否为空,如果是,则运行一段代码?

函数原型(prototype)如下所示:

bool Order::add(int n)

我需要检查 n 是否大于 0 并且对象不为空。(数据成员为 0 或 null)我不确定如何执行此操作以检查对象是否不为空,因为我不能在条件中使用 *this。任何帮助,将不胜感激。

这是类:

#include "ean.h"

class Order {
    int copies;
    int delivered;
    bool filled = false;
    EAN eanno;
public:
    Order();
    Order(const EAN& ean);
    EAN& getEAN();
    int outstanding() const;
    bool add(std::istream& is);
    bool add(int n);
    bool receive(std::istream& is);
    void display(std::ostream& os) const;
};
std::ostream& operator<<(std::ostream& os, const Order& order);

这是两个构造函数:

Order::Order() {
    copies = 0;
    delivered = 0;
    this->eanno;
}

Order::Order(const EAN& ean) {
    Order();
    this->eanno = ean;
}

最佳答案

没有类的任何信息,很难回答。这个怎么样 ? :

bool Order::add(int n)
{
   if( n > 0 )
      if( member1 != 0 || member2 != 0 || member3 != 0 )
      {
         ... // do something
      }
}

或者我没听懂问题?

关于C++:在条件语句中检查对象是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22594643/

相关文章:

c++ - 为什么不能消除无限循环?

C++ 读取和编辑位图图像的像素

C++ cout 给出未声明的标识符

c++ - 在 Vista 上保持 cmd.exe 打开

c++ - ID3DXSprite::Begin 设置的默认转换矩阵是什么?

c++ - 如何修复简单 C++ 函数中的无限循环?

c++ - std::dynarray 与 std::vector

C++ 读取只有数字的文件

c++ - 运算符重载的 friend 关键字

c++ - 扩展枚举类