2015-05-28 2 views
0

Довольно простой вопрос здесь, если у меня есть вектор, как в следующем, где человек является классом и «человек» являются объекты,элементы доступа вектора внутри функций класса

std::vector<Person> person(2); 
person.at(0)= Person("John"); 
person.at(1) = Person("David"); 

Как я мог получить доступ к элементы этого вектора внутри другого класса и выполняют операции, такие как отображение имен каждого человека?

for (int i=0;i<2;i++) 
    { 
     cout<<person[i].Display_Name()<<endl; 
    } 

Предполагая, что Display_Name является простой функцией возврата «имя». Действительно ли это возможно без объявления вектора внутри функции, где я показываю имена в цикле?

+0

Это очень зависит от отношений между этими двумя классами. Вы, вероятно, хотите передать вектор как параметр функции, которая ему нужна, обычным способом. –

+0

как бы я это сделал, так что cout << person [0] .Display_Name() << endl; отобразит «Джон»? и т. д. для каждого объекта в векторе –

+0

В зависимости от того, как ваш код должен быть структурирован, возможно, передавая вектор как параметр функции, которая ему нужна, обычным способом. Ваша вводная книга должна объяснить, как работают параметры функции. –

ответ

1

Если ваши методы имеют ограниченную видимость (закрытый, защищенный) вызов Display_Name(), должен работать.

Примечание: Это C++ обычная практика для использования верблюжьего и начать методы с строчными: Person::displayName

Смежные вопросы