Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 11

Наследование без использования двоеточия

20.06.2014, 00:00. Показов 1577. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер! Задача: Сделать наследование без использования ":".
Заранее спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.06.2014, 00:00
Ответы с готовыми решениями:

Структура программы или наследование, без использования конструктора базового класса
Всем доброго времени суток. Снова прошу вас о помощи! Код располагается по ссылке в спойлере - не вставлю сюда, так как слишком...

Получите все символы последовательности, расположенные от первого двоеточия до второго двоеточия
Пусть даны целое число n (n>0) и последовательность символов s1, s2, s3, …, sn среди которых есть двоеточие. Получите все символы,...

Классы, наследование, полиморфизм и инкапсуляция: нужен пример использования
Пожалуйста , у кого есть приложение где задействованы классы. а именно наследование , полиморфизм и инкапсуляция, напишите код или готовое...

19
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
20.06.2014, 00:04
Цитата Сообщение от FraGas Посмотреть сообщение
Сделать наследование без использования ":"
чем : не угодило?
0
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 11
20.06.2014, 00:10  [ТС]
Требование преподавателя
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
20.06.2014, 00:15
Цитата Сообщение от FraGas Посмотреть сообщение
Требование преподавателя
а к чему это требование относится и как оно дословно звучало?
не поверю что именно так:
Цитата Сообщение от FraGas Посмотреть сообщение
делать наследование без использования ":"
А пока такой вариант:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
#define THIS_IS_NOT_2_POINTS :
 
class Base {
public: int test;
};
 
class Derived THIS_IS_NOT_2_POINTS public Base {};
 
int main() {
    Derived d;
    d.test = 10;
    std::cout << d.test;
}
0
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 11
20.06.2014, 00:22  [ТС]
Я его в точности процетировал.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
20.06.2014, 00:23
Задание воистину бредовое. Мой вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
struct my_type;
 
namespace std
{
 
template <>
class basic_ios<my_type>
{
};
 
} // namespace std
 
int main()
{
    using namespace std;
    basic_ios<my_type> MyType;
    return 0;
}
Здесь создается наследник ios_base в виде basic_ios, параметризированного
собственным типом my_type. Заметьте - ни одного двоеточия !
3
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
20.06.2014, 00:28
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//поражен замыслом вашего преподавателя
//каков вопрос - таков и ответ)
#define derives_without_doublePoint :
#include <iostream>
using namespace std ;
class BaseCl{
public  derives_without_doublePoint virtual void foo(){cout <<"Base"<<endl;}
};
 
class Derived
    derives_without_doublePoint public BaseCl
{
    virtual void foo(){cout <<"Derived"<<endl;}
};
int main()
{
BaseCl * ptr_base = new BaseCl();
ptr_base->foo();
ptr_base = new Derived();
ptr_base->foo();
cout << endl;
system("pause") ;
return 0 ;
}
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
20.06.2014, 00:35
C++
1
#define derives_without_doublePoint :
IGPIGP, жаль, триграфа подходящего нет, чтобы двоеточие замаскировать
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
20.06.2014, 01:52
Цитата Сообщение от Убежденный Посмотреть сообщение
IGPIGP, жаль, триграфа подходящего нет, чтобы двоеточие замаскировать
Кто скажет, что наследование с двоеточием получилось, пусть бросит в меня классом. Или партой.

Добавлено через 57 минут
Убежденный, Ваш ответ с применением шаблонов наверное это то что нужно, но мне нравится мысль:
Цитата Сообщение от Убежденный Посмотреть сообщение
Задание воистину бредовое.
Кстати, если быть принципиальными и не ограничиваясь полумерами пойти дальше, то не только без двоеточия но и без наследования можно попробовать():
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std ;
 class BaseCl{
public  :   void foo(){cout <<"Base"<<endl;}//тут двоеточие
 
};
 
class Derived   
{
public  :   void foo(){cout <<"Derived"<<endl;}//и тут двоеточие...
};
 
int main()
{
BaseCl * ptr_base = new BaseCl();
ptr_base->foo();
ptr_base = reinterpret_cast<BaseCl*>( new Derived() );
reinterpret_cast<Derived*>(ptr_base)->foo();
cout << endl;
system("pause") ;
return 0 ;
}
Однако без двоеточий (если не за defin'ить) всё равно не получается.
А интересно, сколько в библиотеках определений шаблонов зарыто двоеточий?
Слежу за темой с возрастающим интересом.
0
13 / 13 / 3
Регистрация: 30.06.2013
Сообщений: 168
20.06.2014, 03:34
ну дык производный класс можно же вписать в родительский класс
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,245
20.06.2014, 08:28
У меня предположение, что преподаватель имел ввиду
вместо наследования использовать включение:
C++
1
2
3
4
5
6
7
8
9
10
class Base
{
... 
};
 
class Derived   
{
 Base bb;
...
};
Дождемся, что ответит ТС
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
20.06.2014, 08:38
Цитата Сообщение от IGPIGP Посмотреть сообщение
Кто скажет, что наследование с двоеточием получилось
транслятор. Ему то препроцессор код уже с двоеточием отдаст
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
20.06.2014, 09:50
Цитата Сообщение от Убежденный Посмотреть сообщение
C++
1
namespace std { template <> class basic_ios<my_type> { };
Внесение класса в std это нормально?
0
26 / 26 / 9
Регистрация: 25.05.2009
Сообщений: 98
20.06.2014, 10:46
вообще, ИМХО, бред.
Наследование, если оно наследование, без ":" - не делается вообще никак. Ибо включение не есть наследование (класс "машина" включает в себя класс "двигатель", но никак не "является его наследником").

Есть другой вариант. Написать все на C# или Java. Там всякие implements и extends вместо
C++
1
:public <class>
))).

Вообще, тут надо точно знать, что имел ввиду препод...
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
20.06.2014, 12:56
Цитата Сообщение от Croessmah Посмотреть сообщение
транслятор. Ему то препроцессор код уже с двоеточием отдаст
Конечно. А как иначе? Иначе никак. Если включить класс, то через указатель на базовый класс адресовать не получится. Хотя сохранение функциональности и неприкосновенности есть, всё-таки это внебрачное наследование. К тому же не понятно кто чей наследник! Папа внутри сына, это как страус внутри каждого из нас.
А если задефайнить двоеточие, то без двоеточия и получается.
Можно дефайн в заголовок вынести. В заголовочном комментов понаписать и не заметит может?
Думаю если вот так то точно не заметит:
файл DiabloPoints.h:
C++
1
2
3
4
5
//Наш препод, он на всё гаразд,
//Он гуманист и ПЕДАГОГ!
//бла-бла-бла в том же духе...
#define derived_without_doublePoints :
//бла-бла-бла в том же духе...
Но риск есть всегда.
В крайнем случае можно перевестись. (Препод без чувства юмора это же трагедия.)

Добавлено через 2 минуты
Цитата Сообщение от Deiron Посмотреть сообщение
Вообще, тут надо точно знать, что имел ввиду препод...
Поддерживаю. Но боюсь не готов. Нервы нужно железные.
0
26 / 26 / 9
Регистрация: 25.05.2009
Сообщений: 98
20.06.2014, 13:08
Поддерживаю. Но боюсь не готов. Нервы нужно железные.
Если у студента не железные нервы, то до диплома он не доживет...
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
20.06.2014, 14:07
Цитата Сообщение от Deiron Посмотреть сообщение
Если у студента не железные нервы, то до диплома он не доживет...
Что да, то да. Как вспомню, так вздрогну...
0
20.06.2014, 14:11

Не по теме:

Цитата Сообщение от IGPIGP Посмотреть сообщение
так вздрогну...
так вздрогнем же за это :drink:

0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
20.06.2014, 14:21

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
так вздрогнем же за это
Пятница. :drink:



А вообще давайте потихоньку закругляться с оффтопом. Надо дождаться ответа угрюмого преподавателя.
0
20.06.2014, 14:22

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
так вздрогнем же за это
У меня 18/19-го днюхи племяша и сына. Разрыв в год и день. В год без дня, вернее))
Завтра придут. Оба студенты. Вздрагивать и вздрагивать...
:drink: :friends:

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2014, 14:22
Помогаю со студенческими работами здесь

Наследование и конструктор без параметров
Здравствуйте, я нашел один листинг в книге Р. Лафоре. Не могу понять синтаксис конструктора. Counter () : count(0) Зачем писать &quot;:...

Наследование конструктора без изменений
Привет киберфорум! Решаю простую задачу, столкнулся с тем, что ни где не могу найти примера наследования конструктора, который в...

Программа без использования массивов
Пожалуйста помогите, кто может. Нужна программа без использования массивов. Вот, собственно, само задание: &quot;Задано целое n&gt;0...

Вычислить без использования массивов
(1/a)+(1/a^2)+(1/a^4)...(1/a^2n-1)

Переписать программу без использования if
Вывод должен быть тот же, только сама программа должна быть без if. var i,j,y,x,f:integer; a:array of integer; begin x:=1; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru