Форум программистов, компьютерный форум CyberForum.ru

вектор элементов класса - C++

Восстановить пароль Регистрация
 
NewProgrammer:)
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 12
28.12.2011, 21:07     вектор элементов класса #1
Подскажите пожалуйста,как сделать вектор элементов класса,особенно .push_back(?)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2011, 21:07     вектор элементов класса
Посмотрите здесь:

Наследование класса Вектор C++
C++ Насчет класса вектор
Шаблон класса вектор C++
C++ шаблон класса вектор
реализация класса и вектор C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
28.12.2011, 21:08     вектор элементов класса #2
C++
1
2
3
4
std:: vector <MyClass> a;
...
MyClass y;
a.push_back(y);
NewProgrammer:)
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 12
28.12.2011, 21:17  [ТС]     вектор элементов класса #3
#include <vector>
#include <windows.h>

C++
1
2
3
4
5
6
7
8
9
10
11
class f{
public:
    bool a;
};
 
std::vector<f> fd;
 
int WINAPI WinMain( HINSTANCE   hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
    fd.push_back(f);
    fd.a=0;
}
не работает.в чём проблема?
пишет: error C2275: f: недопустимое использование этого типа в качестве выражения
1> d:\projects vc10\txge\testgame.cpp(336): см. объявление "f"
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
28.12.2011, 21:18     вектор элементов класса #4
fd - это вектор f. У него нет поля a. Если поле a 1 элемента надо, то так: fd[0].a
NewProgrammer:)
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 12
28.12.2011, 21:37  [ТС]     вектор элементов класса #5
C++
1
2
3
4
5
6
7
8
9
10
11
class f{
public:
        bool a;
};
 
std::vector<f> fd;
 
int WINAPI WinMain(     HINSTANCE       hInstance,HINSTANCE     hPrevInstance,LPSTR     lpCmdLine,int nCmdShow){
        fd.push_back(f);
        fd[0].a=0;
}
устранил,но он ругается на fd.push_back(f);

использование имени типа не допускается
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
28.12.2011, 21:39     вектор элементов класса #6
f - имя класса, а добавлять переменную надо.
NewProgrammer:)
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 12
28.12.2011, 21:43  [ТС]     вектор элементов класса #7
надо было fd.push_back(f()); писать

C++
1
2
3
4
5
6
7
8
9
10
11
class f{
public:
        bool a;
};
 
std::vector<f> fd;
 
int WINAPI WinMain(     HINSTANCE       hInstance,HINSTANCE     hPrevInstance,LPSTR     lpCmdLine,int nCmdShow){
        fd.push_back(f());
        fd[0].a=0;
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
28.12.2011, 21:45     вектор элементов класса #8
Цитата Сообщение от NewProgrammer:) Посмотреть сообщение
fd.push_back(f);
И чего Вы в него добавляете?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <vector>
 
class MyClass {
private:
   bool a;
public: 
   MyClass () { a = true; } 
};
 
int main ()
{
   std::vector<MyClass> arr;
   MyClass obj;
   arr.push_back (obj);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2011, 21:47     вектор элементов класса
Еще ссылки по теме:

шаблон класса вектор C++
шаблон класса вектор C++
Составить описание класса "3D вектор". Объявить объекты класса и продемонстрировать работу методов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
28.12.2011, 21:47     вектор элементов класса #9
и вообще - сюда
Yandex
Объявления
28.12.2011, 21:47     вектор элементов класса
Ответ Создать тему
Опции темы

Текущее время: 06:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru