永发信息网

类的构造函数

答案:4  悬赏:40  手机版
解决时间 2021-08-14 15:43
  • 提问者网友:缘字诀
  • 2021-08-13 17:46

构造函数内的变量可以在其他几个构造函数内共享吗?

比如:

#include"iostream.h"
class Node
{
public:
int Node1();

int Node2();
};
int Node::Node1()
{
int a;
a=1;
}
int Node::Node2()
{
}

在int Node::Node2()里可以用int Node::Node1()里的a变量吗?

最佳答案
  • 五星知识达人网友:骨子里都是戏
  • 2021-08-13 18:08

不可以。


要注意每个变量的作用域:变量a的作用是是函数int Node::Node1(),也就是a是在此函数中定义的,当函数运行结束时,该变量就被释放了,要想引用时就找不到它了。要起在int Node::Node2()中引用变量,只须将a的作用域扩大到Node2()中就可以了(将a定义为类的成员函数或者将a定义为全局变量)。

全部回答
  • 1楼网友:胯下狙击手
  • 2021-08-13 20:02

#include"iostream.h" class Node {

int a; public: int Node1();

int Node2(); }; int Node::Node1() { a=1; } int Node::Node2() { }

这样就行了

  • 2楼网友:忘川信使
  • 2021-08-13 19:06
可以通过增加一个成员变量来实现共用 #include"iostream.h" class Node { int a; public: Node(); Node(int); }; Node::Node() { a=1; } Node::Node(int) { a=2; }
  • 3楼网友:思契十里
  • 2021-08-13 18:40

不行 Node1的a属于Node1(也是看成一个局部变量)

你要共享 你可以定义成成员变量

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯