Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Офф-топ

Страница: 1 |

 

  Вопрос: Кто знает С++ досовскую??????? Добавлено: 01.11.05 14:16  

Автор вопроса:  hak
Подскажите как написать программу, создающую базовый класс NUM. В этом классе должно храниться целое и содержаться виртуальная функция SHOWNUM(). Создайте два производных класса OUTHEX и OUTOCT, которые наследуют NUM. Функция SHOWNUM() должна быть переопределена в производных классах так, чтобы осуществлять вывод на экран значений, соответственно в 16-ричной и 8-ричной системах исчисления.

Ответить

  Ответы Всего ответов: 14  

Номер ответа: 1
Автор ответа:
 hak



Вопросов: 5
Ответов: 12
 Профиль | | #1 Добавлено: 01.11.05 14:33
Люди я знаю что вопрос не по теме но очень нужно HELP!!!

Ответить

Номер ответа: 2
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #2
Добавлено: 01.11.05 15:17
Старый Борланд можно использовать (у меня где то пылиться). А зачем под Дос - то?
Задача тривильнейшая, ты ее решение +/- практически в любом учебнике по С++ найдешь.

Простой пример наследования. Объяви SHOWNUM() как чисто виртуальную(проще говоря объяви интерфейс-без реализации) и переопределяй.

Ответить

Номер ответа: 3
Автор ответа:
 hak



Вопросов: 5
Ответов: 12
 Профиль | | #3 Добавлено: 01.11.05 15:28
а можно по подробнее???

Ответить

Номер ответа: 4
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #4
Добавлено: 01.11.05 16:31
#include <iostream>
using namespace std;

//--------------------------------------------------------------------------------
class NUM{
public:
NUM();//конструктор

virtual void SHOWNUM() const =0;// чистая виртуальная функция
int num;// это наше чисдо
};

NUM::NUM()
{
num =5;
}


//---------------------------------------------------------------------------------
class OUTHEX:public NUM
{
public:
OUTHEX();

virtual void SHOWNUM() const;
};


OUTHEX::OUTHEX ()
:NUM ()// вызываем конструктор базового класса
{
}

void OUTHEX::SHOWNUM() const
{
cout<<"HEX: "<<num <<endl;// переопределенная функция
}


//---------------------------------------------------------------------

class OUTOCT: public NUM
{
public:
OUTOCT();
virtual void SHOWNUM() const;

};

OUTOCT::OUTOCT()
:NUM ()
{
}

void OUTOCT::SHOWNUM () const
{
cout <<"OCT: "<<num<<endl;
}



int main()
{
NUM *ptr;// указатель на базовый класс

OUTHEX hnum;
ptr=&hnum;//указатель на базовый класс присваиваем адрес производного

ptr->SHOWNUM ();// выводим HEX(динамическое связывание)
hnum.SHOWNUM ();//статическое связывание

OUTOCT onum;

ptr=&onum;

ptr->SHOWNUM ();//выводим OCT
onum.SHOWNUM ();
// так реализуется полиморфное поведение

return 0;
}


Вот собственно и все, только числа отфоматируй соответственно.

Ответить

Номер ответа: 5
Автор ответа:
 «UL.eXe»



ICQ: 197.895.916.247 

Вопросов: 72
Ответов: 540
 Профиль | | #5 Добавлено: 01.11.05 20:52
using namespace std;

 ну вопервых сдесь ошибка.., а во вторых
 этого в интернете, как го**а.

Ответить

Номер ответа: 6
Автор ответа:
 «UL.eXe»



ICQ: 197.895.916.247 

Вопросов: 72
Ответов: 540
 Профиль | | #6 Добавлено: 01.11.05 21:16
2 Автор вопроса:

а во вторых
 этого в интернете, как го**а.

Ответить

Номер ответа: 7
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #7
Добавлено: 01.11.05 23:21
«Unknown Lamer»

using namespace std;
Где ошибка?

А во вторых я говорил об этом автору вопроса, но если человек совсем С++ не знает... Мне проще настучать:)
И не выеживайся?:))

Ответить

Номер ответа: 8
Автор ответа:
 hak



Вопросов: 5
Ответов: 12
 Профиль | | #8 Добавлено: 02.11.05 06:37
Спасибо,выручил, спас жизнь простому VB программисту!

Ответить

Номер ответа: 9
Автор ответа:
 «UL.eXe»



ICQ: 197.895.916.247 

Вопросов: 72
Ответов: 540
 Профиль | | #9 Добавлено: 02.11.05 10:04
И не выеживайся?:))


... пикец, там действительно ошибка!
"Namespace name expected"
и я не выеживаюсь, кстати :) смысла нет..

Ответить

Номер ответа: 10
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #10
Добавлено: 02.11.05 20:28
«Unknown Lamer»

Ты чем компилил-то?:))

Ответить

Номер ответа: 11
Автор ответа:
 el-paso



Вопросов: 3
Ответов: 164
 Профиль | | #11 Добавлено: 02.11.05 21:16
Это же азы ООП...


#include <iostream.h>

class Num
{
public:
   long value;
   virtual void showNum() { cout << value; };
};


class HexNum : public Num
{
   void showNum() { cout << hex << value; };
};

class OctNum : public Num
{
   void showNum() { cout << oct << value; };
};


long main(void)
{
   Num *ndec = new Num();
   Num *nhex = new HexNum();
   Num *noct = new OctNum();

   ndec->value = 777;
   nhex->value = 777;
   noct->value = 777;

   ndec->showNum(); cout << endl;
   nhex->showNum(); cout << endl;
   noct->showNum(); cout << endl;

   return 0;
}



Это, наверняка, именно то, что просил от тебя препод.

Ответить

Номер ответа: 12
Автор ответа:
 hak



Вопросов: 5
Ответов: 12
 Профиль | | #12 Добавлено: 03.11.05 07:10
Спасибо тебе, так намного круче!!!!
Препод подавится слюнями!

Ответить

Номер ответа: 13
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #13
Добавлено: 03.11.05 07:40
Млин ну ребята вы даете...Я просто фигею...
Что так, что эдак вопрос вкуса.

Ответить

Номер ответа: 14
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #14
Добавлено: 04.11.05 20:01
Unknown Lamer получает заслуженный череп.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам