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

Возврат указателя на массив указателей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Реализация класса и вектор http://www.cyberforum.ru/cpp-beginners/thread837433.html
Всем привет! test.cpp(главный файл) /* * @pay - зарплата сотрудника * @countEl - позиция элемента в контейнере */ #include <iostream> #include <string.h> #include "people.h" #include "people.cpp"
C++ Как реализовать вывод в файл из контейнера multiset (STL) Здравствуйте, не могу реализовать вывод в файл из контейнера std::multiset, дело в том, чтобы вывести через поток в файл нужно преобразовать в символьный массив, т.к. AnsiString не работает с потоком как я понял (для этого я раньше использовал c_str()), но вот как получить элементы из контейнера мне не совсем ясно, может кто-нибудь сталкивался с подобным? Заранее спасибо #include... http://www.cyberforum.ru/cpp-beginners/thread837429.html
Помощь с функциями C++
Добрый день, Хочу попросить у вас помощь просто не успеваю сделать, работаю над другой частью программы... Вобщем задание такое : Текст, представляющий собой последовательность строк, длина каждой из которых не превышает некоторого задаваемого при выполнении значения, вводится с клавиатуры или из файла. • вставить в последовательность строк, начиная (заканчивая) с текущей, после (перед)...
C++ 3д вектор на плоскости
Здраствуйте ! Перейду к делу . есть задание -Родительский класс , представляющий собой вектор на плоскости, заданный координатами, с методами нахождения модуля вектора и вывода координат его начала и конца .Дочерний класс представляющий вектор в трехмерном пространстве с аналогичными методами .Главный класс, одним оператором выводящий на экран координаты начал и концов и модулей двух и...
C++ Не понимаю как сделать. (код) http://www.cyberforum.ru/cpp-beginners/thread837411.html
В С++ полный ноль, но очень надо сделать курсовую вот написал часть кода но не понимаю как сделать что бы у меня сложились 1 и 0 (бинарный калькулятор),(не используется void dodavannya(); ), что я делаю не правильно..? #include <tchar.h> #include <stdio.h> #include <conio.h> #include <iostream.h> #include <windows.h> #include <locale.h>
C++ Доделать код Помогите доделать код, нужно добавить укзатели можете помочь Вот код: # include <windows.h> # include <locale.h> # include <stdio.h> # include <stdlib.h> # define MAX 100 struct olimpiads подробнее

Показать сообщение отдельно
art3330
 Аватар для art3330
9 / 9 / 1
Регистрация: 16.12.2012
Сообщений: 141
14.04.2013, 20:19  [ТС]     Возврат указателя на массив указателей
DU, Вы правы. Нечего мучатся с этой ерундой. Как я понимаю vector это тот же массив?

Добавлено через 21 минуту
А вот такой нюанс. Написано, что вектор работает с пользовательским типом. А как сделать, чтобы была возможность выбора между четырьмя наследниками одного класса?

Добавлено через 26 минут
Понял. Мы просто делаем вектор указателей.

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "includs_list.h"
 
using namespace std;
 
int main() {
    vector<House*> myvector;
 
    House* pointer;
    pointer=new Usual;
    myvector.push_back(pointer);
    pointer=new Usual;
    myvector.push_back(pointer);
    pointer=new Usual;
    myvector.push_back(pointer);
    pointer=new Usual;
    myvector.push_back(pointer);
 
    for (vector<House*>::const_iterator it = myvector.begin(); it != myvector.end(); ++it) {
        pointer->read();
    };
    for (vector<House*>::const_iterator it = myvector.begin(); it != myvector.end(); ++it) {
        pointer->write();
    }
    return 0;
}
Почему на выводе он выводит четыре раза последний элемент? Вроде же все правильно

Добавлено через 22 минуты
Понял. Я четыре раза записываю информацию по последнему указателю. А как сделать, чтобы вводил информацию конкретно по элементу вектора?

Добавлено через 19 минут
Ведь можно так ?

Добавлено через 26 минут
Или как здесь надо делать ?

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "includs_list.h"
 
using namespace std;
 
int main() {
    vector<House*> myvector;
 
    House* pointer;
    pointer=new Usual;
    pointer->read();
    myvector.push_back(pointer);
    pointer=new Other;
    pointer->read();
    myvector.push_back(pointer);
 
    for (vector<int>::const_iterator it = myvector.begin(); it != myvector.end(); ++it) {
        it->write();
    }
    return 0;
}
Так пробовал. И пробовал обращение типа myvector[it]->write();
Как заставить его работать ?
 
Текущее время: 04:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru