Как получить доступ к variale, определенному в другом классе в c ++ - PullRequest
1 голос
/ 14 октября 2011

Я использую библиотеку xerces для синтаксического анализа xml в C ++

, храня элементы 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 Ответ

2 голосов
/ 14 октября 2011

resultArray - это глобальная переменная с внешней связью, поэтому вы можете уже получить к ней доступ из любой точки вашей программы.Вы просто должны объявить это:

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

void foo()
{
  std::cout << resultArray[12] << std::endl;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...