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

Форум программистов: 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 ] 


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

Зарегистрированные пользователи: нет зарегистрированных пользователей


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

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