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

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Проблема в проге 
Автор Сообщение
Начинающий

Регистрация: 06.06.2011
Сообщения: 2
Языки:

Репутация: 0 [ ? ]
Сообщение Проблема в проге
Базовый класс:
class Resource
{
protected:
int id;
bool isUsed;
char * title;
char * author;
public:
Resource (int number);
virtual ~ Resource ();
virtual bool TakeResource ();
virtual bool GiveBackResource ();
virtual void PrintInfo ();
virtual bool Status () {return isUsed;}
};
Resource () - конструктор базового класса. Инициализирует переменную id и isUsed. Выделяет память под title и author.
~ Resource () - деструктор базового класса.
TakeResource () - устанавливает переменную isUsed = 1 (выводит на экран сообщение).
GiveBackResource () - устанавливает переменную isUsed = 0 (выводит на экран сообщение).
PrintInfo () - выводит информацию о ресурсе.
Status () - возвращает состояние ресурса.

Производный класс Book.
Атрибуты:
int pages;
int year;

Производный класс CD.
Атрибуты:
int cdType;

Определить конструктор и деструктор (! Высвобождать все ресурсы!) Класса.
В основной программе создать несколько ресурсов и продемонстрировать процесс их использования.
Написал ошибку видает

Текст програми:
//------------------------------- main.cpp ----------------------------------
#include "Resource.h"
#include <stdio.h>

void main(void)
{
//Два диски і дві книжки
cd cd1(342145,"Rammstein","Sonne",5), cd2(343495,"Rock'n'Roll","blablabla",3);
Book book1(124366,"Taras Schewchenko","Kobzar",1984,543),book2(731284,"Charlse Dickens","Ostriw Skarbiw",1994,256);

//Було взято 2 книжки і 1 диск
cd1.TakeResource();
book2.TakeResource();
book1.TakeResource();
//Диск повернули
cd1.GiveBackResource();

//Вивести інформацію про ресурси
cd1.PrintInfo();
cd2.PrintInfo();
book1.PrintInfo();
book2.PrintInfo();

getchar();
}
//------------------------------- Resource.h --------------------------------
#include <iostream.h>

//------------------- Клас ресурс
class Resource
{
protected:

int id;
bool isUsed;
char* title;
char* author;

public:

//Конструктор
Resource(int number) ;
//Деструктор
virtual ~ Resource() ;
//Ресурс використовується
virtual bool TakeResource ();
//Ресурс не використовується
virtual bool GiveBackResource();
//Вивід інформації про ресурс
virtual void PrintInfo();
//Інформація чи використовується ресурс
virtual bool Status(){return isUsed;}
};

//---------------- Похідний клас cd-диск
class cd:public Resource
{
private:
int cdType;
public:
//Конструктор
cd(int number,char *aut, char *title, int cT);
//Деструктор
~cd();
//Вивід інформації про ресурс
virtual void PrintInfo();
};

//---------------- Похідний клас книжка
class Book:public Resource
{
private:
int year;
int pages;
public:
//Конструктор
Book(int number,char *a, char *t, int y, int p);
//Деструктор
~Book();
//Вивід інформації про ресурс
virtual void PrintInfo();
};

//------------------------------- Resource.cpp ------------------------------
#include "Resource.h"

//Конструктор
Resource::Resource(int number)
{
isUsed = 0;
id = number;
}

//Деструктор
Resource::~Resource()
{
}

//Ресурс використовується
bool Resource::TakeResource()
{
isUsed = 1;
cout << "Resource " << id << " is used." << endl;

return isUsed;
}

//Ресурс не використовується
bool Resource::GiveBackResource()
{
isUsed = 0;
cout << "Resource " << id << " is not used." << endl;

return isUsed;
}

//Вивід інформації про ресурс
void Resource::PrintInfo()
{
cout << "id: " << id << endl;
cout << "author: " << author << endl;
cout << "title: " << title << endl;
}
//------------------------------- Book.cpp ----------------------------------
#include "Resource.h"

//Конструктор
Book::Book(int number,char *a, char *t, int y, int p):Resource(number)
{
year = y;
pages = p;
author = a;
title = t;
}

//Вивід інформації про ресурс
void Book::PrintInfo()
{
cout << "id: " << id << endl;
cout << "author: " << author << endl;
cout << "title: " << title << endl;
cout << "year: " << year << endl;
cout << "pages: " << pages << endl;
cout << "isUsed: " << isUsed << endl;
}

//Деструктор
Book::~Book()
{
cout << "BookDestructor" << endl;
}
//------------------------------- cd.cpp ------------------------------------
#include "Resource.h"

//Конструктор
cd::cd(int number,char *a, char *t, int cT):Resource(number)
{
author = a;
title = t;
cdType = cT;
}

//Вивід інформації про ресурс
void cd::PrintInfo()
{
cout << "id: " << id << endl;
cout << "author: " << author << endl;
cout << "title: " << title << endl;
cout << "cdType: " << cdType << endl;
cout << "isUsed: " << isUsed << endl;
}

//Деструктор
cd::~cd()
{
cout << "cdDestructor" << endl;
}


06.06.2011 16:18
Профиль Отправить email
Начинающий

Регистрация: 06.06.2011
Сообщения: 2
Языки:

Репутация: 0 [ ? ]
Сообщение Re: Проблема в проге
кто знает помогите!!!


08.06.2011 17:32
Профиль Отправить email
Профи
Аватара пользователя

Регистрация: 14.12.2009
Сообщения: 112
Откуда: Украина,Киев
Языки:
Специальность:

Репутация: 6 [ ? ]
Сообщение Re: Проблема в проге
Кокретней что за проблема?

_________________
Хорошие художники копируют, а гениальные воруют. (c) Стив Джобс


17.08.2011 13:13
Профиль ICQ
Начинающий

Регистрация: 19.08.2011
Сообщения: 3
Языки:
Специальность:

Репутация: 0 [ ? ]
Сообщение Re: Проблема в проге


19.08.2011 11:40
Профиль Отправить email
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 


Кто сейчас на конференции

Зарегистрированные пользователи: Yahoo [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»