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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2011, 23:46   #1
IRobot
Пользователь
 
Регистрация: 25.01.2011
Сообщений: 31
Восклицание Не работает программа на C++. Наследование

Писал программу не сам. Никак не могу разобраться. запускается, но почему то после некоторых действий просто из нее выходит. Задание было такое

Цитата:
1. Реализовать классы «стек» и «очередь» наследованием от базового класса «двусвязный список». Создать три варианта реализации наследования: открытое, закрытое, защищенное. Программы- клиенты должны демонстрировать работу всех классов. Иерархию классов реализовать в отдельных модулях. Таким образом, у вас будет 4 модуля: 1- реализация класса «список», 2- реализация открытого наследования, 3- закрытое, 4- защищенное.
Окончательный вариант решения должен быть реализован в виде шаблона.


программа в архиве

inheritance.rar
Вложения
Тип файла: rar inheritance.rar (231.3 Кб, 24 просмотров)
IRobot вне форума Ответить с цитированием
Старый 30.06.2011, 08:29   #2
IRobot
Пользователь
 
Регистрация: 25.01.2011
Сообщений: 31
По умолчанию

Совсем никого.

Еще раз, очень нужно. Те, кто посмотрел ответе.

Еще раз прошу помочь. Напишите хоть что нибудь. Может у меня программа рабочая и это я неправильно что-то делаю? Или программа вообще написана неправильно?

Последний раз редактировалось Simply-Art; 01.07.2011 в 07:12.
IRobot вне форума Ответить с цитированием
Старый 30.06.2011, 21:25   #3
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
По умолчанию

Завтра сдаёте?
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 30.06.2011, 21:34   #4
IRobot
Пользователь
 
Регистрация: 25.01.2011
Сообщений: 31
По умолчанию

xwicked

Не понял вопрос. Или вы учитесь там же где и я? Ну да завтра и что интересно, как я буду париться?
IRobot вне форума Ответить с цитированием
Старый 30.06.2011, 21:37   #5
IRobot
Пользователь
 
Регистрация: 25.01.2011
Сообщений: 31
По умолчанию

файл inheritance.cpp

Код:
#include "iostream.h"
#include "baseclass.h"
#include "openclass.h"
#include "closeclass.h"
#include "protectedclass.h"

int main()
{
	int insert,chose;
cout<<"Launch program? if yes, enter 1"<<endl;
cin>>chose;
if (chose == 1)
{
	cout<<"Enter some number:"<<" ";
	cin>>insert;
	cout<<endl;
O_stack O_ST;
C_stack C_ST;
P_stack P_ST;
O_queue O_QE;
P_queue P_QE;
C_queue C_QE;
cout<<"stack:"<<O_ST.push(insert)<<" "<<"queue:"<<O_QE.addqueue(insert)<<endl;
cout<<"stack:"<<C_ST.push(insert)<<" "<<"queue:"<<C_QE.addqueue(insert)<<endl;
cout<<"stack:"<<P_ST.push(insert)<<" "<<"queue:"<<P_QE.addqueue(insert)<<endl;
}
else
cout<<"Exiting..."<<endl;
return 0;


}

файл baseclass.h

Код:
class inheritance
{
	class i_node
	{ 
		friend class inheritance;
	private:
		int contents;
	};

	
	private:
		i_node *head;
	public:
		int addtohead (int a) {return (++a);};
		int addtoend (int b) {return (--b);};
		void cleanhead();
		void Boo() {cout<<"Boo!";};
};

файл closeclass.h

Код:
class C_stack : private inheritance // класс стэка открытое наследование
{
public:
	C_stack() {}
	int push(int value)	
	{
			cout<<"Call closed method"<<" push"<<endl;
	return	inheritance::addtohead(value);
	}
	void clean()			
	{
							cout<<"Call closed method"<<" clean"<<endl;
	inheritance::cleanhead();
	}
};

class C_queue : private inheritance	// класс очереди закрытое наследование
{
public:
	C_queue() {}
	int addqueue(int value)
	{
					cout<<"Call closed method"<<" addqueue"<<endl;
	return	inheritance::addtoend(value);
	}
	void clean()
	{
							cout<<"Call closed method"<<" clean"<<endl;
	inheritance::cleanhead();
	}
};
файл openclass.h

Код:
class O_stack : public inheritance // класс стэка открытое наследование
{
public:	
	O_stack() {}
	int push(int value)	
	{
			cout<<"Call open method"<<" push"<<endl;
	return	inheritance::addtohead(value);
	}
	void clean()			
	{
			cout<<"Call open method"<<" clean"<<endl;
	inheritance::cleanhead();
	}
};

class O_queue : public inheritance	// класс очереди открытое наследование
{
public:
	O_queue() {}
	int addqueue(int value)
	{
		cout<<"Call open method"<<" addqueue"<<endl;
	return	inheritance::addtoend(value);
	}
	void clean()
	{
				cout<<"Call open method"<<" clean"<<endl;
	inheritance::cleanhead();
	}
};
файл protectedclass.h

Код:
class P_stack : protected inheritance // класс стэка защищенным наследованием
{
public:
	P_stack() {}
	int push(int value)	
	{
		cout<<"Call protected method"<<" push"<<endl;
	return	inheritance::addtohead(value);
	}
	void clean() 			
	{
		cout<<"Call protected method"<<" clean"<<endl;
	inheritance::cleanhead();
	}
};

class P_queue : protected inheritance	// класс очереди защищенным наследованием
{
public:
	P_queue() {}
	int addqueue(int value)
	{
		cout<<"Call protected method"<<" addqueue"<<endl;
	return	inheritance::addtoend(value);
			
	}
	void clean()
	{ 
			cout<<"Call protected method"<<" clean"<<endl;
	inheritance::cleanhead();
	}
};
IRobot вне форума Ответить с цитированием
Старый 30.06.2011, 22:29   #6
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Код:
int main()
{
	int insert,chose;
cout<<"Launch program? if yes, enter 1"<<endl;
cin>>chose;
if (chose == 1)
{
	cout<<"Enter some number:"<<" ";
	cin>>insert;
	cout<<endl;
O_stack O_ST;
C_stack C_ST;
P_stack P_ST;
O_queue O_QE;
P_queue P_QE;
C_queue C_QE;
cout<<"stack:"<<O_ST.push(insert)<<" "<<"queue:"<<O_QE.addqueue(insert)<<endl;
cout<<"stack:"<<C_ST.push(insert)<<" "<<"queue:"<<C_QE.addqueue(insert)<<endl;
cout<<"stack:"<<P_ST.push(insert)<<" "<<"queue:"<<P_QE.addqueue(insert)<<endl;

}
else
cout<<"Exiting..."<<endl;
//Здесь остановка
cin.ignore();
cin.get();
return 0;
}
Просто не хватает остановки после исполнения кода.
Не давай организму поблажки, каждый день тренируй его в шашки..

Последний раз редактировалось Скарам; 30.06.2011 в 22:33.
Скарам вне форума Ответить с цитированием
Старый 30.06.2011, 22:32   #7
IRobot
Пользователь
 
Регистрация: 25.01.2011
Сообщений: 31
По умолчанию

Скарам

Вы просто Бог.

А как мне Вам репутацию повысить?

Скарам

Может это чересчур, но программа по задаю правильно работает или нет?

Последний раз редактировалось Simply-Art; 01.07.2011 в 07:27. Причина: Есть кнопка редактировать (Edit) -------------------->
IRobot вне форума Ответить с цитированием
Старый 30.06.2011, 22:37   #8
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Цитата:
А как мне Вам репутацию повысить?
Жми на весы под моим ником.
Цитата:
Может это чересчур, но программа по задаю правильно работает или нет?
Не вникал, если честно. Синтаксис непривычный, я по C# в основном.
Цитата:
Вы просто Бог.
Боги молчат и молнии мечут.

З.Ы. В общем как демонстрация проект подойдет.
Не давай организму поблажки, каждый день тренируй его в шашки..

Последний раз редактировалось Скарам; 30.06.2011 в 22:42.
Скарам вне форума Ответить с цитированием
Старый 30.06.2011, 22:43   #9
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Либо другой вариант:
в файле inheritance.cpp в списке подключаемых библиотек добавить
Цитата:
#include <conio.h>
а перед return 0 вставить
Код:
getch();
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 30.06.2011, 22:56   #10
IRobot
Пользователь
 
Регистрация: 25.01.2011
Сообщений: 31
По умолчанию

Wicort

Ну а Вы можете определить правильно ли работает программа.
IRobot вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
не работает программа pavlintseva Помощь студентам 7 17.02.2011 18:54
Не работает программа jallvar Visual C++ 7 30.10.2010 15:53
Не работает программа Ult1m Общие вопросы Delphi 7 20.09.2010 21:52
Не работает программа looloo Помощь студентам 0 27.05.2010 21:53