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

std::list<T*> вызвать метод - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ как хранить данные в dll http://www.cyberforum.ru/cpp-beginners/thread767415.html
подскажите, возможно ли, и как хранить данные в dll? например не хочу чтоб логин пароль и некоторая другая информация была в текстовом файле
C++ Дано уравнение ax2+bx+c=0. Решить уравнение, результат вывести на экран. Здравствуйте. Завтра зачет, нужно сдать две программы на с++, как их писать у меня весьма смутное представление. Собственно задание: 2)дано уравнение ax2+bx+c=0.Ввести с клавиатуры значения параметров a, b, c.Решить уравнение, результат вывести на экран. Помогите пожалуйста http://www.cyberforum.ru/cpp-beginners/thread767414.html
Подсчитать разницу суммы и произведения двух чисел вводимых с клавиатуры.Результат вывести на экран C++
Здравствуйте. Завтра зачет, нужно сдать две программы на с++, как их писать у меня весьма смутное представление. Собственно задание: 1)подсчитать разницу суммы и произведения двух чисел вводимых с клавиатуры.Результат вывести на экран Помогите пожалуйста
Указатели(Какую роль выполняют &* и *&) C++
Всем доброго вечера. Возникла проблема. Помогите решить ее. Какую роль выполняют &* и *& . Если возможно приведите примеры пожалуйста =)
C++ Массив. Найти число элементов, кратных k, и наибольший из полученных результатов http://www.cyberforum.ru/cpp-beginners/thread767387.html
Для целочисленной квадратной матрицы найти число элементов, кратных k, и наибольший из полученных результатов. вот моя программа но не могу найти максимальный из полученых #include<stdio.h> #include<conio.h> #include<stdlib.h> #define n 5 void main() {
C++ Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива.Восстановить исходную матрицу Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива. Восстановить исходную матрицу и напечатать по строкам. подробнее

Показать сообщение отдельно
Matrasa
 Аватар для Matrasa
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 40
20.01.2013, 23:07  [ТС]     std::list<T*> вызвать метод
Croessmah, Не работает. Вот, для примера такой код, и он не работает (программа запускается и ничего не выводит)

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
#include <iostream>
#include <list>
 
class MyVehicle
{
    public:
    virtual void Show() {}
};
 
class MyCar : public MyVehicle
{
    public:
    void Show() {std::cout << "I'm a car!\n"; }
};
 
int main()
{
    std::list<MyVehicle*> MyList;
    MyCar mc;
    MyVehicle* mv = &mc;
 
    std::list<MyVehicle*>::iterator iter = MyList.begin();
 
    for(int i = 0; i < MyList.size(); i++)
    {
        (*iter)->Show(); iter++;
    }
}
ЗЫ. Код пишу под виндой в QtCreator.

Добавлено через 48 секунд
Герц, Я их все попробовал. Ни один не сработал.

Добавлено через 6 минут
Croessmah, А нет, все работает, забыл обьект закинуть в список. Спасибо за ответ!

Добавлено через 56 минут
Чейто я не пойму, предыдущий код работает, а вот такой сегфолтится. Помогите разобраться пожалуйста

C++ (Qt)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <QtCore/QCoreApplication>
#include <list>
#include <iostream>
 
class MyVehicle
{
    public:
    virtual void Show() {}
};
 
class MyCar : public MyVehicle
{
    public:
    void Show() {std::cout << "I'm a car!\n"; }
};
 
class MyList
{
public:
    void AddCar()
    {
        MyCar mc;
        MyVehicle* mv = &mc;
        MyListOfVehicles.push_back(mv);
    }
 
    void PrintList()
    {
        std::list<MyVehicle*>::iterator iter = MyListOfVehicles.begin();
 
        for(int i = 0; i < MyListOfVehicles.size(); i++)
        {
            (*iter)->Show();
            iter++;
        }
    }
 
    std::list<MyVehicle*> MyListOfVehicles;
};
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
 
    MyList ml;
    ml.AddCar();
    ml.PrintList();
 
    return a.exec();
}
Добавлено через 19 минут
Хмм, работает если я не создаю экземпляр MyCar внутри метода MyList, а передаю из main() в качестве параметра...
 
Текущее время: 13:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru