Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pod2392
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 2
#1

переопределение методов класса в массиве - C++

02.06.2013, 16:01. Просмотров 407. Ответов 2
Метки нет (Все метки)

Всем привет. У меня появилась проблема, которую я не могу решить. Казалось бы все просто, но гугл помочь не смог, или я чего-то упорно не понимаю. У нас есть массив классов с некой функцией, пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using namespace std;
#include <iostream>
 
const int books = 9;
 
class book
{
public:
virtual void func(){ cout << "standart text \n";};
} book_massive[books];
 
 
 
int main()
{
    for (int bookCurrent = 0; bookCurrent <= books; bookCurrent++)
        book_massive[bookCurrent].func();
 
    return 0;
}
Как мне переопределить методы класса в массиве, чтобы у каждой книги в массиве в функции был, к примеру, свой текст (или что-то другое, функция выводит текст лишь как пример.) ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 16:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос переопределение методов класса в массиве (C++):

Переопределение методов - C++
Как вызвать переопределенный (не перегруженный) метод из производного класса? Base* obj_1 = new Der1; ...

переопределение защищенных методов - C++
При вызове метода basePubMethod() класса ChildClass возвращается 0. Как заставить его возвращать 1, не переопределяя basePubMethod() ? ...

Напишите реализацию методов, предоставляющих доступ к данным класса. Отобразите в программе работу этих методов - C++
Реализация методов класса. Напишите реализацию методов, предоставляющих доступ к данным класса. Отобразите в программе...

Как вынести описание методов вложенного класса за пределы класса? - C++
Подскажите, пожалуйста, как мне вынести описание методов вложенного класса за пределы класса?

Вызов методов класса из двойного указателя на экземпляр класса - C++
Добрый день! Как можно вызвать метод класса по двойному указателя на его экземпляр? struct Point { void getPoint(){}; ...

Переопределение класса - C++
Пытаюсь создать приоритетную очередь на основе кучи, но не выходит. Не понимаю почему, выскакивает куча ошибок, в том числе эти: ...

2
igor921
Заблокирован
02.06.2013, 16:10 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using namespace std;
#include <iostream>
 
const int books = 9;
 
class book
{
public:
virtual void func(char * str){ cout << str<<endl;};
} book_massive[books];
 
 
 
int main()
{
    for (int bookCurrent = 0; bookCurrent <= books; bookCurrent++)
        book_massive[bookCurrent].func("This is book number"+bookCurrent);
 
    return 0;
}
0
pod2392
0 / 0 / 0
Регистрация: 30.05.2013
Сообщений: 2
02.06.2013, 16:34 #3
Спасибо, а если мне нужно будет чтобы каждая функция делала совершенно различные действия?
Можно ли написать как-то так ( далее будет не работающий вариант, но может можно сделать как-то похоже ):

C++
1
2
3
book_massive[1].func = { cout << "this is book number: " << bookCurrent; };
book_massive[2].func = { cout << 99*2; };
book_massive[3].func = { cout << book_massive[1].func() << "," << book_massive[2].func(); };
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2013, 16:34
Привет! Вот еще темы с ответами:

Переопределение класса вектор - C++
Переопределите класс Vector, описывающий вектор в пространстве: а) двухместную операцию сложения векторов (+), возвращающую свой...

Переопределение переменной класса-родителя - C++
Есть базовый класс button_c и производный от него about_c. В about_c я попытался переопределить значения переменных w, h, dir, dir_h, но...

Наследник класса, переопределение функции - C++
Доброго времени суток! Есть не виртуальный класс, от него необходимо наследоваться и перегрузить одну из функций. Входные параметры будут...

Переопределение метода класса-шаблона - C++
Привет народ. Есть такой код: typedef OS::process&lt;OS::pr0, 90&gt; TProc1; TProc1 Proc1; template&lt;&gt; void Proc1::exec() { //тут...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.