sinat_37770210
sinat_37770210
采纳率100%
2019-05-17 11:24 阅读 1.5k

c++中类函数可以直接被赋值吗?如图

图片说明

#include <iostream> 
using namespace std;
class A
{
public:
    int v;
    // 你的代码添加在这里
    A(){
        v=0;
    }
};
int main()
{
    int n;
    cin >> n;
    A a;
    cout << a.v << endl;
    a() = n;
    cout << a.v << endl;
    return 0;
}

需要重载等号运算符吗?
没见过这种用法,请指教

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    wanggui2015 wallesyoyo 2019-05-17 14:36

    是重载函数调用运算符,也就是圆括号运算符,返回内部成员变量的引用,然后外部能够通过返回的引用去修改类内部成员变量的值。

    添加的代码如下:

    int& operator()()
    {
        return v;
    }
    
    点赞 1 评论 复制链接分享
  • qq_34801642 北冥有鱼wyh 2019-05-17 15:08

    全部代码

    #include <iostream> 
    using namespace std;
    class A
    {
    public:
        int v;
        // 你的代码添加在这里
        A(){
            v=0;
        }
    
        int& operator()()
        {
            return v;
        }
    
    };
    int main()
    {
        int n;
        cin >> n;
        A a;
        cout << a.v << endl;
        a() = n;
        cout << a.v << endl;
        return 0;
    }
    

    运行结果

    图片说明

    点赞 评论 复制链接分享

相关推荐