小编Bru*_*tti的帖子

为什么我需要在转换构造函数上引用this->?

我仍然在学习C++中的OOP基础知识,并且在使用转换构造函数创建运算符方法时出现了一个问题.

这是我的代码:

头文件:

class Integer {
private:
    int num;
public:
    Integer();
    Integer(int);//Convert constructor
    ~Integer();
    operator int();
    int getNum();
};
Run Code Online (Sandbox Code Playgroud)

源文件:

Integer::operator int() {
   return this->num; //No idea why I need to specify this-> here.
}
Run Code Online (Sandbox Code Playgroud)

main 方法:

Integer a(50); 
a = 100;       

int b = (int)a; 
cout << b << endl;
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,为什么我需要this->operator int()方法上使用?我没有传递任何冲突的参数,所以它不应该是编译器的问题.我也没有测试它,它工作正常.但在我的教科书中,我明确地说它应该添加this->num.

有任何想法吗?

c++ oop class this

3
推荐指数
1
解决办法
77
查看次数

$ project和$ group之间的实际区别是什么?

我已经阅读了文档,但仍然不太了解。根据它,它会根据我自己的规格在集合中返回特定的文档。对于分组,它几乎说了同样的话:“按某些指定的表达式对文档进行分组,并为每个不同的分组将文档输出到下一阶段”

那么,以下代码实际上在做什么?对我来说似乎多余。

BillingCycle.aggregate([{
    $project: {credit: {$sum: "$credits.value"}, debt: {$sum: "debts.value"}}

}, {
    $group: {
        _id: null,
        credit: {$sum: "$credit"}, debt: {$sum: "debt"}
    }
}, {
    $project: {_id: 0, credit: 1, debt: 1   }
}]});
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query

0
推荐指数
1
解决办法
333
查看次数

标签 统计

c++ ×1

class ×1

mongodb ×1

mongodb-query ×1

oop ×1

this ×1