【发布时间】:2015-03-04 12:03:27
【问题描述】:
标题可能不正确,因为我找不到合适的词。 我想为某个对象(类创建的实例)添加条件。
在 obj.h 中:(不包括预处理器命令)
class obj {
public:
void addCondition( bool cond );
void useCondition();
private:
bool conditions;
};
在 obj.cpp 中:(不包括预处理器命令)
void obj::addCondition( bool cond )
{
//What to write here, is the question in short!!!
}
void obj::useCondition()
{
if(conditions)
{
//Do something...
}
}
假设条件是: 条件 = 值 1 > 值 2; 我想在条件中“添加”一个条件,使它变成这样:
conditions = (value1 > value2) || (value3 <= value4);
或
conditions = (value 1 > value2) && (value3 <= value4);
如果我问的东西有问题,我很抱歉!如果您知道答案以外的其他东西,但做同样事情的完全不同的事情,不要犹豫,讨论它。
提前致谢!
【问题讨论】:
-
听起来像是 lambdas 和
std::function<bool()>的工作? -
@cdhowie 你能解释一下什么是 lambdas 和 std::function
吗?看起来像 C++11 的东西。 -
这是一个 C++11 的东西。你可以在 C++03 中做同样的事情,但语法要冗长得多。
-
不管它是什么!给我一个关于这两种方法的正确解释:C++11 lambda 和 C++03 冗长语法。
-
我可以,但首先你能澄清一下
value1到value4的值是从哪里来的吗?它们是数据成员、全局变量、函数参数还是什么?谁供应它们?
标签: c++ class object conditional-statements