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

Создайте класс StringVector, производный от vector<void*> - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа со стеком ( http://www.cyberforum.ru/cpp-beginners/thread1055725.html
Ребятки, помогите. Кто-то может написать код или исправить мой ?? Стек Функции: 1.Создание пустого стека 2.Добавление элемента в стек 3.Печать стека (вывод на дисплей) 4.Извлечение (удаление) элемента из стека 5.Запись стека в файл 6.Уничтожение стека 7.Восстановление (чтение) стека из файла
C++ fatal error LNK1168: не удается открыть F:\Interp\Debug\Interp.exe для записи После того,как в 38 строке к k приписал "=0"начало выбивать ошибку "fatal error LNK1168: не удается открыть F:\Interp\Debug\Interp.exe для записи" #include <iostream> #include <conio.h> #include <clocale> using namespace std; double func(double,double);//параметри для ф-ли Ньютона //double FN(int,double,int);//Формула Ньютона int fact(int);//факторіал double... http://www.cyberforum.ru/cpp-beginners/thread1055705.html
C++ Вставка строки
Вставить новую строку после всех строк, в которых нет ни одного четного элемента. Соль этого кода в том, что если входные данные 3 3 1 3 1 1 1 1 1 2 1 9 9 9 то выведет 3 3 1 1 1 -8... -8... -8...
C++ Пожалуйста напишите коды
Выручите пожалуйста!! В пятницу надо уже сдать, но не успеваю сделать, напишите пожалуйста!! Буду очень признателен!!)) В долгу не останусь) Задание 1. Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX. - ах3- Ь при х + с <0и а*0 х-а х-с X с — + — при 1 + с>0м а = 0 в остальных случаях I С X где я, bf с — действительные числа. ...
C++ Вывод из файла http://www.cyberforum.ru/cpp-beginners/thread1055651.html
#include "stdafx.h" #include "iostream" using namespace std; struct avia { char DepCity; char ArrCity; unsigned short int duration;
C++ Графический покер Доброго времени суток всем. Вот, немного запутался.... Есть игра покер...Нужно ее реализовать в упрощенном виде. Есть изображения карт, игрального стола. Как реализовать эту идею. У нас есть несколько комбинаций...Роял, флеш и т.д... Как сделать, что бы если выпала именно комбинация, которая нужна для флеша - что бы оно выводило сообщ...у вас Флеш. И еще...Как сделать так, что бы... подробнее

Показать сообщение отдельно
helloy
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 46
25.12.2013, 13:41  [ТС]     Создайте класс StringVector, производный от vector<void*>
Цитата Сообщение от SatanaXIII Посмотреть сообщение
push_back не должно возвращать значения
Думаю автор имел вот что:
C++
1
2
3
4
5
6
//...
std::string* push(std::string*str){
     vector<void*>::push_back(str);
      return (std::string*)vector<void*>::back();
  }
//...

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
26
27
28
29
30
31
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
 
class StringVector: public std::vector<void*> {
public:
  std::string* push(std::string*str){
     vector<void*>::push_back(str);
      return (std::string*)vector<void*>::back();
  }
 
  std::string*operator[](int index){
      return (std::string*)std::vector<void*>::operator[](index);
  }
  ~StringVector(){
      vector<void*>::clear();
  }
 
};
 
 
int main() {
    std::ifstream in("25.cpp");
    StringVector base;
    std::string line;
    while(std::getline(in,line))
        std::cout<<*base.push(new std::string(line))<<std::endl;
    
 
}
Добавлено через 9 минут
Конечный результат:
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
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
 
class StringVector: public std::vector<void*> {
public:
  std::string* push(std::string*str){
     vector<void*>::push_back(str);
      return (std::string*)vector<void*>::back();
  }
 
  std::string*operator[](std::string*str){
      for(int i=0;i<int(std::vector<void*>::size());++i)
          if (*(std::string*)std::vector<void*>::operator[](i)==*str){
            return (std::string*)std::vector<void*>::operator[](i);
          }
        return 0;
  }
  ~StringVector(){
      vector<void*>::clear();
  }
 
};
 
 
int main() {
//hello
    std::ifstream in("MY.cpp");
    StringVector base;
    std::string line;
    while(std::getline(in,line))
        std::cout<<*base.push(new std::string(line))<<std::endl;
    std::cout<<base[new std::string("//hello")];
    
 
}
 
Текущее время: 14:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru