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

stl и полиморфизм - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Фрагмент "авс" http://www.cyberforum.ru/cpp-beginners/thread432399.html
Здравствуйте! Проверьте мою программу, где ошибка, и напишите мне под этим кодом, пожалуйста. Заранее спасибо вам! Написать программу, которая записывать строку во внешний файл и выводит на печать количество фрагментов "авс" в этой строке. #include<stdio.h> #include<conio.h> #include<string.h> main() { char *str; int k=0,i=0; FILE *FL; clrscr();
C++ Мьютекс, не могу понять, сигналирован или нет Разработать программу, состоящую из двух потоков, работающих с общими данными, первый поток вводит с клавиатуры N целых чисел (число N также вводится пользователем), второй печатает их на экран по мере поступления. Взаимодействие между потоками синхронизировать при помощи мьютексов. В программе должна быть реализована корректная обработка ошибок системных вызовов с выдачей системного сообщения об... http://www.cyberforum.ru/cpp-beginners/thread432395.html
В чем ошибка C++
#include <iostream> #include <string> using namespace std; int main() { string n = "Jon" string name; cin >> name; if (n == name) cout << "Строки равны" << endl;
Дана последовательность чисел a1, a2, ..., an. Указать наименьшую длину числовой оси, содержащую все эти числа C++
Помогите решить. Дана последовательность чисел a1, a2, ..., an. Указать наименьшую длину числовой оси, содержащую все эти числа
C++ MSVCP100D.dll http://www.cyberforum.ru/cpp-beginners/thread432366.html
Почему вылазит эта ошибка на компьютере где нет MS VS, когда я запускаю .exe файл откомпелированной проги? Добавлено через 2 минуты Сори. уже нашёл. Надо положить этот же файл в каталог, где и программа.))) Этот файл лежит в C:\Windows\System32\ Добавлено через 14 секунд Как тему удалить? Добавлено через 11 минут MSVCR100D.dll этот файл тоже требуется. и он же тоже там лежит!
C++ Генератор чисел Здравствуйте. пишу вот такую программу. Генерирует случайные числа. Но каждый раз исключая повторы. помогите. не пойму в чём дело. выводить постоянно повторы! #include "StdAfx.h" #include "conio.h" #include <cstdlib> using std::srand; using std::rand; #include <time.h> подробнее

Показать сообщение отдельно
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.01.2012, 18:02     stl и полиморфизм
ну у вас вектор содержит указатель на указатель на CEnemy;
Вам в вектор нужно складывать либо указатели на CEnemy либо даже значения

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Вариант с указателями:
std::vector<CEnemy*> enemiesList;
enemiesList.push_back(new CEnemy());
std::vector<CEnemy*>::const_iterator iter = enemiesList.begin();
const bool isAlive = (*iter)->alive;
// тип результата выражения (*iter) - указатель на CEnemy.
// поэтому обращение к объекту как к указателю, через стрелочку.
 
В случае, когда в векторе будут указатели, нужно будет не забывать вызывать для этих указателей delete, когда эти указатели будут удалятся из вектора. Сам вектор delete для этих указателей не позовет.
 
// Вариант с значениями:
std::vector<CEnemy> enemiesList;
enemiesList.push_back(CEnemy());
std::vector<CEnemy>::const_iterator iter = enemiesList.begin();
const bool isAlive = (*iter).alive;
// тип результата выражения (*iter) - ссылка на CEnemy.
// поэтому обращение к объекту по ссылке, т.е. через точку.
В случае с указателями при удалении указателя из вектора нужно будет не забыть для этого указателя позвать delete. Сам вектор не будет звать для них delete. Он просто удалит их из себя и все.
 
Текущее время: 03:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru