构造函数内的变量可以在其他几个构造函数内共享吗?
比如:
#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变量吗?
构造函数内的变量可以在其他几个构造函数内共享吗?
比如:
#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变量吗?
不可以。
要注意每个变量的作用域:变量a的作用是是函数int Node::Node1(),也就是a是在此函数中定义的,当函数运行结束时,该变量就被释放了,要想引用时就找不到它了。要起在int Node::Node2()中引用变量,只须将a的作用域扩大到Node2()中就可以了(将a定义为类的成员函数或者将a定义为全局变量)。
#include"iostream.h" class Node {
int a; public: int Node1();
int Node2(); }; int Node::Node1() { a=1; } int Node::Node2() { }
这样就行了
不行 Node1的a属于Node1(也是看成一个局部变量)
你要共享 你可以定义成成员变量