首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在成员函数中初始化引用成员变量&在其他成员函数中访问它- C++

如何在成员函数中初始化引用成员变量&在其他成员函数中访问它- C++
EN

Stack Overflow用户
提问于 2021-05-26 19:22:45
回答 3查看 349关注 0票数 0

通常用于普通变量的方法(在成员函数之外声明和在成员函数内初始化)不起作用,因为引用变量需要初始化并在同一行中声明。

代码语言:javascript
运行
复制
#include <iostream>
using namespace std;

class abc {
public:
    int& var; 
    void fun1 (int& temp) {var=temp;} 
    void fun2 () {cout << abc::var << endl;}
    abc() {}
};

int main() {
    abc f;
    int y=9;
    f.fun1(y);
    f.fun2();
    return 0;
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-05-26 19:28:21

我想这是你能做的最好的了。

代码语言:javascript
运行
复制
#include <iostream>
using namespace std;

class abc {
public:
    int& var; 
    abc(int& temp) :
       var(temp)
    {}
    void fun2 () {cout << abc::var << endl;}
};

int main() {
    int y=9;
    abc f(y);
    f.fun2();
    return 0;
}

引用是一个常量--它指的是对象整个生命周期中相同的整数。这意味着你需要把它设置在建筑上。

票数 0
EN

Stack Overflow用户

发布于 2021-05-26 19:32:24

如何在成员函数中初始化引用成员变量&在其他成员函数中访问它- C++

用指针。

代码语言:javascript
运行
复制
#include <iostream>
using namespace std;

class abc {
public:
    int* var; 
    void fun1 (int& temp) { var = &temp; } 
    void fun2 () { cout << *abc::var << endl; }
    abc() {}
};

int main() {
    abc f;
    int y=9;
    f.fun1(y);
    f.fun2();
    return 0;
}
票数 1
EN

Stack Overflow用户

发布于 2021-05-26 19:30:52

int var; int& varref = abc::var;

这应该管用!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67711456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档