Как распечатать значение из вектора классов в С++?

Пользователь

от jeromy_ruecker , в категории: Другие , 6 месяцев назад

Как распечатать значение из вектора классов в С++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от loyal , 5 месяцев назад

@jeromy_ruecker 

Для печати значений из вектора классов в C++ вы можете использовать цикл for или range-based for loop.


Ниже приведены два примера:


Пример 1: Используя цикл for

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>

class MyClass {
public:
    int value;
};

int main() {
    std::vector<MyClass> vec;
    // Заполнение вектора значениями
    for (int i = 0; i < 5; i++) {
        MyClass obj;
        obj.value = i;
        vec.push_back(obj);
    }
    // Печать значений
    for (int i = 0; i < vec.size(); i++) {
        std::cout << vec[i].value << " ";
    }
    return 0;
}


Пример 2: Используя range-based for loop

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>

class MyClass {
public:
    int value;
};

int main() {
    std::vector<MyClass> vec;
    // Заполнение вектора значениями
    for (int i = 0; i < 5; i++) {
        MyClass obj;
        obj.value = i;
        vec.push_back(obj);
    }
    // Печать значений
    for (const auto& obj : vec) {
        std::cout << obj.value << " ";
    }
    return 0;
}


Оба этих примера печатают значения из вектора классов vec с помощью оператора << в стандартном выводе. Результат будет:

1
0 1 2 3 4


Важно отметить, что для того, чтобы печатать значения из вектора, необходимо иметь доступ к открытым (public) полям класса или определить соответствующий геттер (getter) для получения значений.