Llllln 发表于 2022-7-9 16:21:55

myclass(int x) : x_(x) {};

class myclass
{
public:
    myclass(int x) : x_(x) {};
    int operator()(const int n) const { //这里加上const比较好,保护const int n,n不会被改变
      return n * x_;
    }
private :
    int x_;
};


朋友们,看代码碰到这个,我想知道第四行myclass(int x) : x_(x) {};表示什么意思什么作用,没学过想知道为什么这么写,但是在网上又没找到答案,我应该查哪块内容呢?

临时号 发表于 2022-7-9 17:53:23

本帖最后由 临时号 于 2022-7-9 17:55 编辑

这是myclass这个类的构造函数,作用是将传进来的局部变量x赋值给成员变量x_
https://www.runoob.com/cplusplus/cpp-classes-objects.html

例子:
#include <iostream>
using namespace std;

class myclass
{
public:
    myclass(int x) : x_(x) {};
    int operator()(const int n) const { //这里加上const比较好,保护const int n,n不会被改变
      return n * x_;
    }
private :
    int x_;
};

int main()
{
        myclass my(2);
        cout << my.operator()(5) << endl;
       
        return 0;
}

ExiaGN001 发表于 2022-7-9 19:32:08

本帖最后由 ExiaGN001 于 2022-7-9 20:19 编辑

构造函数,参数是一个int x,用途是将(形参)x赋值给(成员)this->x_ .
如果问题解决,请勿忘记设置最佳答案!
页: [1]
查看完整版本: myclass(int x) : x_(x) {};