如何在c ++中访问不同类中定义的变量

时间:2011-10-14 10:21:34

标签: c++ variables accessibility

我正在使用xerces库来解析C ++中的xml

将xml元素存储到字符串数组中,我想从我的类

访问这个字符串数组

Handler类的代码 -

#include "MySAX2Handler.hpp"
#include <xercesc/sax2/Attributes.hpp>
#include <iostream>
#include <string>

using namespace std;
const int MAXITEMS = 100;
string resultArray[MAXITEMS];
int cnt = 0;

void MySAX2Handler::startElement(const XMLCh* const uri, const XMLCh* const localname,
const XMLCh* const qname, const Attributes& attrs)
{
  char* message = XMLString::transcode(localname);
  resultArray[cnt] = message;
  cnt++;
  for (int idx = 0; idx < attrs.getLength(); idx++)
  {
    char* attrName = XMLString::transcode(attrs.getLocalName(idx));
    char* attrValue = XMLString::transcode(attrs.getValue(idx));
    resultArray[cnt] = attrName;
    cnt++;
    resultArray[cnt] = attrValue;
    cnt++;
  }
  XMLString::release(&message);
}

我想从另一个类

访问resultArray

请帮助我,我是C ++的新手

1 个答案:

答案 0 :(得分:2)

resultArray是一个带有外部链接的全局变量,因此您可以已经从程序中的任何位置访问它。你只需要声明它:

// someotherfile.cpp
extern std::string resultArray[100];

void foo()
{
  std::cout << resultArray[12] << std::endl;
}