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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2015, 21:31   #1
KHz
 
Регистрация: 06.12.2015
Сообщений: 3
По умолчанию Реализация наследование(С++)

Помогите написать методы.
"Массив"
свойства:
• количество элементов;
• динамическое хранилище значений.
методы:
• изменение размера.
"Стек"
свойства:
• глубина.
методы:
• запись и извлечения значения вершины;
• чтение значения вершины без извлечения.
"Очередь"
свойства:
• позиция контрольной точки.
методы:
• добавление в очередь;
• чтение значения из контрольной точки;
• чтение значения с конца очереди.
Код:
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace std;
class Massiv
{
private:
	float Number = 0;
	float dynamicstoragevalues = 0;//динамическое хранилище значений
public:
	Massiv();
	Massiv(float);
	void SetNumber(float);
	void Resize(float);//изменение размера
	float GetNumber() { return Number; }
	float Getdynamicstoragevalues() { return dynamicstoragevalues; }	
};
Massiv::Massiv(){Number = dynamicstoragevalues = 0;}
Massiv::Massiv(float Number)
{
	SetNumber(Number);
	dynamicstoragevalues = 0;
}
void Massiv::SetNumber(float Number){this->Number = (Number > 0) ? Number : 0;}
void Massiv::Resize(float Number){this->Number = (Number >= 0) ? Number : 0;}
//Производные классы
class Stack:Public Massiv {
private:
float Depth; //Глубина
public:
	Stack();
	Stack(float,float);
	void SetDepth(float);
	float GetDepth() { return Depth; }
	inline void writetop(); //запись и извлечения значения вершины;
	void readtop(); //чтение значения вершины без извлечения.
};
Stack::Stack():Massiv(){Depth = 0;}
Stack::Stack(float Number, float Depth):Massiv(Number){SetDepth(Depth);}
void Stack::SetDepth(float Depth){this->Depth = (Depth > 0) ? Depth : 0;}
void Stack::writetop(){
}
void Stack::readtop(){}
class Turn:Public Massiv {
private:
	float Positioncheckpoint; //позиция контрольной точки
public:
	Turn();
	Turn(float, float);
	void SetPositioncheckpoint(float);
	float GetPositioncheckpoint() { return Positioncheckpoint; }
	void addingqueue();//добавления в очередь
	void readingcheckpoint(); //чтение значения из контрольной точки
	void readendofthequeue(); //чтение значения с конца очереди.
};
Turn::Turn():Massiv(){Positioncheckpoint = 0;}
Turn::Turn(float Number, float Positioncheckpoint):Massiv(Number){SetPositioncheckpoint (Number);}
void Turn::SetPositioncheckpoint(float Positioncheckpoint){this->Positioncheckpoint = (Positioncheckpoint > 0) ? Positioncheckpoint : 0;}
void Turn::addingqueue()
{
	
}
void Turn::readingcheckpoint()
{
}
void Turn::readendofthequeue()
{
}
#include <iostream>
using namespace std;
void main()
{
	Stack MHz;
	Turn MHz1;
}

Последний раз редактировалось KHz; 19.12.2015 в 21:40.
KHz вне форума Ответить с цитированием
Старый 19.12.2015, 22:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я правильно понял: STL с его возможностями недопустим, и нужно все делать с открытыми указателями используя new и delete?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Наследование С++ dykee Помощь студентам 0 09.11.2014 22:30
Наследование в C# JekaM311 Помощь студентам 4 20.11.2012 16:56
Наследование. ISV-777 Общие вопросы по Java, Java SE, Kotlin 1 05.12.2011 22:31
наследование настюх Помощь студентам 8 27.11.2011 13:54
Реализация паттерна Singleton в случае наследование newkobra Общие вопросы C/C++ 6 05.11.2011 22:30