0

您好,我是 C++ 和头文件的新手,我不知道如何获取我在头文件中声明的变量。

我的类.h

#pragma once
#include <iostream>

class MyClass
{
private:
    int numberOfJellyBeans;
public:
    MyClass();
    ~MyClass();
    void GenerateJellyBeans();
}

我的类.cpp

#include "MyClass.h"
MyClass::MyClass()
{
    //constructor
}

MyClass::~MyClass()
{
    //destructor
}
void GenerateJellyBeans()
{
    //doesnt work?
    numberOfJellyBeans = 250;

    //Also doesnt work
    MyClass::numberOfJellyBeans = 250;
}
4

2 回答 2

4

GenerateJellyBeans()必须在 的范围内MyClass,所以你必须写:

void MyClass::GenerateJellyBeans()
{

  numberOfJellyBeans = 250;
}

现在 C++ 知道它GenerateJellyBeans()是 的成员MyClass,您现在可以访问您的类的变量。

如果您只是将其声明为 plain void GenerateJellyBeans(),则this编译器无法使用(实际上numberOfJellyBeans = 250;是 的简写this->numberOfJellyBeans = 250;

于 2013-04-06T18:06:33.317 回答
1

您不小心定义了一个名为GenerateJellyBeansMyClass::GenerateJellyBeans. 要纠正这一点:

void MyClass::GenerateJellyBeans()
     ^^^^^^^^^

现在您将能够访问numberOfJellyBeans

{
    numberOfJellyBeans = 250;
}
于 2013-04-06T18:05:54.473 回答