8I刚学C++,面对一个有点像这样的代码:他们怎么在C++中的意思是:变量*空白,并与空白
virtual QVariant getProperty(uint ,const IContact * =0) const
{ return QVariant(); }
virtual bool setProperty(uint ,const QVariant &,IContact * =0)
{return false;}
但是,我不知道是什么IContact接口* = 0或的QVariant &的意思。 “IContact”和“QVariant”是类。所以我认为在这里他们是指变量的类型。但我不明白他们为什么只在后面放了*或&。
请问你们能帮忙解释一下吗?
预先感谢您!
这是太宽泛的问题,没有给这些代码片段更多的上下文。那么很简单,从技术角度回答:'IContact * = 0'传递一个指向'IContact'的指针,默认为'0',函数返回'QVariant'。但是不可能从该片段中知道预期的语义。 –
@πάνταῥεῖ事实上,考虑到函数的名称和类型,语义非常简单。它定义了一个类的“接口”(尽管不是用纯虚函数)以供子类覆盖。 'uint'可能是属性ID,'QVariant const&'可能是设置的新值,我不知道可选的'IContact'是用于什么。 –
_ @TươngNhư_如果你不能理清技术上的含义,那你实际上并没有_learn C++ _! –