在构造函数中创建一个变量
creating a variable in the constructor
在理解类结构中的变量作用域时遇到一些困难。
我想在类构造函数中创建一些变量,然后让它们可用于该类中的函数。我认为只要在构造函数中定义它们就可以了,但是我的编译器(g++)给了我一个错误:'foo'没有在这个作用域中声明。
谁能对这个微不足道的问题说明一下?下面是一些虚拟代码来说明我要做的事情。
myClass.h
using namespace std;
class myClass{
public:
myClass(){
std::vector<int> foo;
foo.resize(10,0);
};
void myFunc();
}
myClass.cpp
void myClass::myFunc(){
std::cout << foo[1] << end;
// etc...
}
构造函数中声明的变量在构造函数体末尾超出作用域。这和其他函数没什么不同。如果你想要一个类的所有成员函数都可以访问的变量,你应该让它们成为成员变量。
可以通过在类体中声明它们来实现。例如
class myClass {
public:
myClass() {
foo.resize(10,0);
}
void myFunc(); // now has access to foo
private:
std::vector<int> foo;
};
相关文章:
- 用C++中的一个变量定义一个常量
- 一个变量的输入值也会保存到另一个变量中
- 将双精度变量设置为另一个变量的值
- 对具有相同方法的不同类使用一个变量
- 为什么一个变量获得与另一个值相同的值
- 尝试在 C++ 中为 ifstream 提供一个变量
- 类中的一个变量显示,但另一个不显示
- 声明一个变量,该变量在 c++ 或 c 中具有值,当程序终止时不会被销毁
- c++问题:给一个变量赋值后,另一个变量发生了变化
- 如何将一个变量用于父类和派生类
- 如何在循环中使用scanf,将值存储到一个变量中,然后打印出来?
- 我如何将一个变量与另一个变量进行比较,例如我想如果(var1 > var2 x 1),然后执行此 c++
- 如何在一个函数中定义一个变量,并在另一个函数中访问和更改它?(C++)
- 如果一个变量在它之前释放了另一个(相同的数据类型)变量,如何将其分配给内存?
- 迭代器或反向器的一个变量
- fstream库,试图创建一个变量名为(c++)的文件
- 如何在 c++ 中将两个不同类型的变量分配给一个变量
- 如何将一些变量放在一个变量中?
- 将 int 转换为字符串,然后连接另一个变量以创建完整扩展名,然后将其转换为 const_char*
- 如何用索引命名一个变量来存储输入 mxArray?