Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2014, 02:14   #1
zla9_kolu4ka
Форумчанин
 
Регистрация: 16.09.2013
Сообщений: 149
По умолчанию массивы класов

задача на смекалку

Как сделать, чтобы в ответе было 1 2
т.е заместо мусора появилось число 2
сейчас результат:
1 -858993460

PS: добавлять код не нужно

Код:
#include <iostream>
#include <conio.h>
using namespace std;

class base{
int i;
public:
	void set_i(int num){i=num;}
	int get_i(){ return i;}
};

class derived: public base{
	int j;
public:
	void set_j(int num){j=num;}
	int get_j(){return j;}
};


int main(){
base* bp;
derived d[2];

bp = d;
d[0].set_i(1);
d[1].set_i(2);

cout << bp->get_i() << " ";
bp++;
cout << bp->get_i();

char ch = getchar();
return 0;
}

Последний раз редактировалось zla9_kolu4ka; 07.03.2014 в 02:19.
zla9_kolu4ka вне форума Ответить с цитированием
Старый 07.03.2014, 02:30   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Заменить d[1].set_i(2); на d[0].set_j(2);.
Или bp++; на bp += 2;.
Или base* bp; на derived* bp;.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 07.03.2014, 03:16   #3
zla9_kolu4ka
Форумчанин
 
Регистрация: 16.09.2013
Сообщений: 149
По умолчанию

Цитата:
Заменить d[1].set_i(2); на d[0].set_j(2);.
Или bp++; на bp += 2;.
Или base* bp; на derived* bp;.
еще есть способ, ничего изменять не надо, кое что нужно удалить
zla9_kolu4ka вне форума Ответить с цитированием
Старый 07.03.2014, 09:01   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Цитата:
Сообщение от zla9_kolu4ka Посмотреть сообщение
кое что нужно удалить
Ну окей, удалить все поля и методы в классе derived.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание экземпляров класов darkmesser C# (си шарп) 5 20.11.2013 04:59
Наследование класов mixon-21 Общие вопросы C/C++ 0 14.09.2013 23:00
описание класов, методов в Java. Рома_Я Помощь студентам 2 22.10.2011 17:13
Наследственность класов С++ IGOR199304 Помощь студентам 2 19.10.2011 21:50
Композиция класов fantom_ZET Общие вопросы C/C++ 6 31.10.2010 16:50