Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/75: Рейтинг темы: голосов - 75, средняя оценка - 4.67
45 / 21 / 6
Регистрация: 28.02.2013
Сообщений: 194

Константа в классе

03.09.2015, 11:13. Показов 16619. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Что-то у нас с компилятором какое-то недопонимание.
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
25
26
27
28
29
30
31
#include <iostream>
 
using namespace std;
 
class Foo{
public:
    Foo();
    const int constanta = 50;
    void Func();
};
 
Foo::Foo(){
    //constanta = 50;
}
 
void Foo::Func(){
 
    int Array[constanta];
}
 
 
 
int main(){
 
    cout << "hello";
 
    cout << endl << endl;
    system("pause");
 
    return 0;
}
Пишет 'this' cannot be used in a constant expression
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.09.2015, 11:13
Ответы с готовыми решениями:

Константа в классе, инициализируемая в конструкторе
Задача - сделать в классе константу POD типа, инициализируемую в конструкторе, т.е. при создании объекта класса. Так, чтобы далее по ходу...

Константа в абстрактном классе
Добрый день! Может быть кто знает, есть ли метод, которым можно гарантировать, что константа, описанная в абстрактном классе или...

Константа ref-типа, доступная в любом классе
Кто знает, как ее реализовать? Также прошу написать, как реализовать массив переменных ref-типа, доступный в любом классе.

39
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.09.2015, 21:42
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от castaway Посмотреть сообщение
А чем плох enum, если необходимо объявить несколько целочисленных констант для класса?
Потому что в идеале вообще должно быть не важно какое значение имеет та или иная константа внутри enum'а.
Иначе говоря, enum вводится в первую очередь чтобы по нему делать ветвление при выборе, а не использовать подлежащее значение.
Наличие например enum'а из одного значения - явно вырожденный случай как раз для реализации того, что должна делать статическая константа.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.09.2015, 21:43
Цитата Сообщение от Tulosba Посмотреть сообщение
что по здравой логике языка надо использовать статическую константу в данном случае.
енум и есть - статическая константа.
гарантированно времени компиляции.
он гарантированно не будет кушать память.

мой вопрос был: чем он плох?
Цитата Сообщение от nefton Посмотреть сообщение
Константа же - это совершенно другое понятие.
ну да, именованные константы - это совсем другое понятие,
нежели просто "константа"

Цитата Сообщение от nefton Посмотреть сообщение
Неполучается? Может от того что не для этого его придумывали?
не очевидно, что именно у вас там не получается.
0
45 / 21 / 6
Регистрация: 28.02.2013
Сообщений: 194
03.09.2015, 21:45  [ТС]
Так надо
C++
1
2
3
4
5
6
7
class konkretniy{
   static const int konstanta1 = 50;
   static const int konstanta2 = 40;
   static const int konstanta3 = 50;
   static const int konstanta4 = 0.2;
   //.....
};
Так не надо
C++
1
2
3
4
class konkretniy{
   enum konstanti{konstanta1 = 50, konstanta2 = 40, konstanta3 = 50, konstanta4 = 0.2);
   //.....
};
И даже для целочисленных констант так тоже не надо! так как в енаме 2 одинаковых целочисленных не определить, да и не надо это вообще.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.09.2015, 21:49
Цитата Сообщение от Tulosba Посмотреть сообщение
Наличие например enum'а из одного значения - явно вырожденный случай
который нашел широкое применение в области метапрограммирования на шаблонах.

Добавлено через 2 минуты
Цитата Сообщение от nefton Посмотреть сообщение
И даже для целочисленных констант так тоже не надо! так как в енаме 2 одинаковых целочисленных не определить, да и не надо это вообще.
неужели?

ну а проверить хотя б прежде чем писать не пробовали?

зы: инициализировать интегральное дробным - вот это точно не нужно.
все остальное из области каких то непонятных деццких привычек.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.09.2015, 21:52
Цитата Сообщение от hoggy Посмотреть сообщение
который нашел широкое применение в области метапрограммирования на шаблонах.
Угу, по причине того, что компилятор не умел кушать static const в те времена, но сейчас умеет. И надобность в однозначном использовании enum в данном контексте отпала.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
03.09.2015, 21:53
Цитата Сообщение от nefton Посмотреть сообщение
Так надо
Лихо ты инту 0.2 присвоил. "Респект и уважуха!"
Цитата Сообщение от nefton Посмотреть сообщение
так как в енаме 2 одинаковых целочисленных не определить
Кто тебе такую чушь напел? Ты хоть пробовал?

Tulosba, я просто не соглашусь с твоим мнением в данной ситуации.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.09.2015, 21:55
Цитата Сообщение от castaway Посмотреть сообщение
я просто не соглашусь с твоим мнением в данной ситуации.
Имеешь полное право Но мне интересно: с каким конкретно?
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.09.2015, 21:56
Цитата Сообщение от Tulosba Посмотреть сообщение
Угу, по причине того, что компилятор не умел кушать static const в те времена, но сейчас умеет. И надобность в однозначном использовании enum в данном контексте отпала.
сегодня, как и в древние времена остается лишь одна принципиальная разница:
енумы гарантированно времени компиляции.

а вот обычные константы - не гарантированно.

другая менее существенная разница:
если у интегральной константы попросить адрес,
она скушает память.
это легко можно сделать "ничайно".

попросить адрес у енума нельзя.
только у уже существующего объекта.
что делает енумы привентивно более экономичными.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.09.2015, 21:59
Цитата Сообщение от hoggy Посмотреть сообщение
он гарантированно не будет кушать память.
Так и дефайн память не будет кушать, что ж теперь везде дефайны юзать вместо констант?
В нормальной реализации статическая константа без надобности тоже не будет память кушать. Но зато, если приспичит адрес взять, то enum лососнет тунца, а со статиком достаточно добавить определение (если еще не добавлено).
0
45 / 21 / 6
Регистрация: 28.02.2013
Сообщений: 194
03.09.2015, 21:59  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
то тебе такую чушь напел? Ты хоть пробовал?
Да, согласен. получилось присвоить одинаковые числа вопреки какой либо логике.
Надо рапортовать баг разработчикам С++
тут
Сначала говорится о том что enum это перечисление.
Потом о том что если использовать перечисление не как перечисление, а как число, то можно им (перечисляемым сущьностям) сопоставлять числа.
Вобщем лично я эту возможность осуждаю и считаю недоработкой С++.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
03.09.2015, 22:02
Цитата Сообщение от Tulosba Посмотреть сообщение
Имеешь полное право Но мне интересно: с каким конкретно?
По поводу ветвления и одного значения в enum (из 21-го сообщения).

Добавлено через 2 минуты
Цитата Сообщение от nefton Посмотреть сообщение
Надо рапортовать баг разработчикам С++
Это не баг. Это нормальное поведение. Просто ты к нему не привык по причине изначально ложного представления об enum.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.09.2015, 22:08
Цитата Сообщение от hoggy Посмотреть сообщение
если у интегральной константы попросить адрес,
она скушает память.
это легко можно сделать "ничайно".
Ложь Пока ты не добавил явно определение, взять адрес не получится.
Цитата Сообщение от hoggy Посмотреть сообщение
а вот обычные константы - не гарантированно.
Т.к. ты можешь используешь такую константу например для выделения памяти массива (без VLA конечно), то тоже вполне гарантировано, что дело идет в compile-time.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.09.2015, 22:11
Цитата Сообщение от Tulosba Посмотреть сообщение
Так и дефайн память не будет кушать, что ж теперь везде дефайны юзать вместо констант?
потому что:
1.
коллизии имен (печально, но жить можно. майкрософт например, не заморачивается)

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

с их помощью можно реализовать перегрузки функций,
инстанцирования шаблонов, под разные случаи.

последнее, где я использовал типизацию енумов - статическая система сообщений,
на шаблонах, где в качестве енума определял тип сообщения
(и не нужно никаких структур городить).

а так же - статическая таблица.

вот кстати, её пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        //-- table   [   type    ][ enum-id ][   category    ][  type-name  ][ work-status ]
        REGISTER_TYPE( bool      ,  eBOOL    ,  ePRIMITIVE   ,    "BOOL"     ,   ENABLED   );
        REGISTER_TYPE( V::I8     ,  eI8      ,  ePRIMITIVE   ,    "INT8"     ,   ENABLED   );
        REGISTER_TYPE( V::I16    ,  eI16     ,  ePRIMITIVE   ,    "INT16"    ,   ENABLED   );
        REGISTER_TYPE( V::I32    ,  eI32     ,  ePRIMITIVE   ,    "INT32"    ,   ENABLED   );
        REGISTER_TYPE( V::I64    ,  eI64     ,  ePRIMITIVE   ,    "INT64"    ,   ENABLED   );
        REGISTER_TYPE( V::U8     ,  eU8      ,  ePRIMITIVE   ,    "UINT8"    ,   ENABLED   );
        REGISTER_TYPE( V::U16    ,  eU16     ,  ePRIMITIVE   ,    "UINT16"   ,   ENABLED   );
        REGISTER_TYPE( V::U32    ,  eU32     ,  ePRIMITIVE   ,    "UINT32"   ,   ENABLED   );
        REGISTER_TYPE( V::U64    ,  eU64     ,  ePRIMITIVE   ,    "UINT64"   ,   ENABLED   );
        REGISTER_TYPE( V::F32    ,  eF32     ,  ePRIMITIVE   ,    "FLOAT32"  ,   ENABLED   );
        REGISTER_TYPE( V::F64    ,  eF64     ,  ePRIMITIVE   ,    "FLOAT64"  ,   ENABLED   );
        REGISTER_TYPE( V::Byte   ,  eBYTE    ,  ePRIMITIVE   ,    "BYTE"     ,   ENABLED   );
        REGISTER_TYPE( V::WChar  ,  eWCHAR   ,  ePRIMITIVE   ,    "WCHAR"    ,   ENABLED   );
        REGISTER_TYPE( V::Str    ,  eSTRING  ,  ePRIMITIVE   ,    "STRING"   ,   ENABLED   );
        REGISTER_TYPE( V::WStr   ,  eWSTRING ,  ePRIMITIVE   ,    "WSTRING"  ,   ENABLED   );
        REGISTER_TYPE( V::Blob   ,  eBLOB    ,  ePRIMITIVE   ,    "BLOB"     ,   ENABLED   );
        REGISTER_TYPE( V::Record ,  eRECORD  ,  eKEY_VARIANT ,    "RECORD"   ,   ENABLED   );
        REGISTER_TYPE( V::Records,  eRECORDS ,  eASSOCIATIVE ,    "RECORDS"  ,   ENABLED   );
        REGISTER_TYPE( V::Map    ,  eMAP     ,  eASSOCIATIVE ,    "MAP"      ,   ENABLED   );
        REGISTER_TYPE( V::Vec    ,  eVECTOR  ,  eLINEAR      ,    "VECTOR"   ,   ENABLED   );
        REGISTER_TYPE( V::List   ,  eLIST    ,  eLINEAR      ,    "LIST"     ,   ENABLED   );
в компалтайме, по ней можно было делать выборку, как в базе данных.
и в зависимости от. реализовывать те,
или иные стратегии обработки различных типов данных.

использовал в маханизме класса "variant",
который по своему дизайну является аналогом питоновского варианта.
и был предназначен для сетевого взаимодействия.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.09.2015, 22:12
Цитата Сообщение от castaway Посмотреть сообщение
По поводу ветвления и одного значения в enum
Ну а какой смысл (кроме как замены static const) в enum из одного значения?
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.09.2015, 22:17
Цитата Сообщение от Tulosba Посмотреть сообщение
Пока ты не добавил явно определение, взять адрес не получится.
очень легко ничайно "явно попросить адрес".

у енума это уже не так легко.

Цитата Сообщение от Tulosba Посмотреть сообщение
Т.к. ты можешь используешь такую константу например для выделения памяти массива (без VLA конечно), то тоже вполне гарантировано, что дело идет в compile-time.
это зависит от ситуации.

Добавлено через 54 секунды
Цитата Сообщение от Tulosba Посмотреть сообщение
Ну а какой смысл (кроме как замены static const) в enum из одного значения?

C++
1
2
3
4
5
enum v1{ ev1 };
enum v2{ ev2 };
 
void foo(v1);
void foo(v2);
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
03.09.2015, 22:24
Цитата Сообщение от Tulosba Посмотреть сообщение
Ну а какой смысл (кроме как замены static const) в enum из одного значения?
Может особого смысла и нет, но и плохого я ничего не вижу. По крайней мере мне такая запись глаза мозолить не будет, зато я буду прекрасно понимать что это целочисленная константа.

Кстати, про взятие адреса hoggy хорошо заметил.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.09.2015, 22:32
Цитата Сообщение от hoggy Посмотреть сообщение
потому что:
Понятно, что #define для констант использовать не стоит ни при каких обстоятельствах в C++.
Но я и не говорю, что #define vs const это то же самое по степени ужаса, что enum vs static const.
В твоем примере с таблицей enum используется по прямому назначению - перечисление, тут всё ок.
Мы же обсуждали именно использование enum в качестве static const. И вот в этом (и не надо сюда приплетать другие случаи) я однозначно за то, чтобы использовать static const. Как минимум по причине того, что это лучше отражает суть решаемом задачи. А углубляться в особенности реализации (типа съест память константа или не съест) в данном случае могу отнести к задачам из группы "преждевременной оптимизации".

Добавлено через 4 минуты
Цитата Сообщение от hoggy Посмотреть сообщение
C++
1
enum v1{ ev1 }; enum v2{ ev2 }; void foo(v1); void foo(v2);
Здесь ev1, ev2 вообще не нужны. Сами значения зачем по одной штуке? Разные enum'ы это понятно, что разные типы.

Добавлено через 39 секунд
Цитата Сообщение от hoggy Посмотреть сообщение
очень легко ничайно "явно попросить адрес".
Вот тут не понял.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.09.2015, 22:45
Цитата Сообщение от Tulosba Посмотреть сообщение
то тоже вполне гарантировано, что дело идет
вот кстати, из реальной жизни.
некоторые вычисления хочется поиметь в компалтайме.

например, факториал:
C++
1
2
3
4
constexpr int factorial (int n)
{
    return n > 0 ? n * factorial( n - 1 ) : 1;
}
однако, несмотря на то, что функция вполне себе годная для вычислений времени компиляции,
но сам по себе constexpr вам этого не гарантирует:

http://rextester.com/SXVWCI75516

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
25
26
27
28
29
#include <iostream>
 
 
constexpr int factorial (int n)
{
    return n > 0 ? n * factorial( n - 1 ) : 1;
}
 
int main()
{
    std::cout << "Hello, world!\n";
    
    int a = factorial(3);
    
    enum v { b = factorial(3) };
    
    int c = 3;
    
    // уже не является константной времени компиляции
    // вычисление переносится на рантайм
    // при этом компилятор даже и не пикнет
    // не предупредит, что у нас тут просадка первоманса случилась
    const int d = factorial(c);
    
    // --- compile-time protection
    // error: the value of ‘c’ is not usable in a constant expression
    //enum { f = factorial(c) };
    
}
енумы ничем не уступают обычным интегральным константам,
но помимо этого они гарантируют,
что все вычисления будут времени компиляции.
и обладают типизацией.

мне на практике обычные константы глаза не мозолят.
но если нужны времени компиляции,
лично я предпочитаю енумы, как более простое, очевидное,
но в тоже время мощное средство для метапрограмминга.

Добавлено через 3 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
Сами значения зачем по одной штуке?
очевидно жеж - осуществить перегрузку функций.

дизайн манипулятора вывода в консольку:
C++
1
2
3
4
console(HIDE)(CENTER);
    console(RED)  << "ololo\n";
    console(BLUE) << "trololo\n";
console(VISIBLE);
Добавлено через 2 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
Вот тут не понял.
C++
1
2
3
4
5
6
const int v = 10;
const* int p = &v; //<--- скушали память
 
enum v { e }; //<--- здесь пока не будет явно создан объект
  // скушать память не получится
//а явно создать объект енума в статике - это крайне маловероятно
Добавлено через 3 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
Понятно, что #define для констант использовать не стоит ни при каких обстоятельствах в C++.
я бы не был столь категоричным.

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

сегодня не сильно актуально, во времена вариадик шаблонов.
но во времена с++03 это было очень даже актуально.
незаменимая вещь для метапрограмминга.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.09.2015, 23:16
Цитата Сообщение от hoggy Посмотреть сообщение
например, факториал:
Повторю ещё раз: речь о enum vs static const в классе. Не надо перепрыгивать на другие темы.
Цитата Сообщение от hoggy Посмотреть сообщение
очевидно жеж - осуществить перегрузку функций.
Для перегрузки значение не важно, важен тип. А если важно значение, то их должно быть минимум два.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.09.2015, 23:30
Цитата Сообщение от Tulosba Посмотреть сообщение
enum vs static const в классе.
выше я уже писал про возможность перегрузки функций.

а ещё частенько практикую нечто вроде:


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
25
26
struct Console
{
    enum eFLAGS { 
        eNONE              = 0, 
        eFULLSCREEN     = 1<<1, 
        eDOUBLEBUFFER = 1<<2, 
        eREDIRECT_IO    = 1<<3 
    };
 
    typedef tools::TFlag<eFLAGS> 
        Flag;
 
 
    Console(const eFLAGS flags)
        :mSettings(flags)
    {  ... }
 
    ...
 
    bool IsFullScreen()const { return mFlags.Has(eFULLSCREEN ); }
 
    ...
 
    Flags mFlags;
 
};
выглядит опрятно, красиво.
позволяет упаковывать в одной переменной уйму флагов.
при этом переменная типизированная - енумовская.
поэтому, отладчики показывают красиву инфу, аля
C++
1
mFlags                eDOUBLEBUFFER|eREDIRECT_IO
а не какие то непонятные циферки,
в которых без битовых операций не врубишься, чего там включено.

вот пример использования механизма флагов,
базируется на енумах:

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
25
26
27
28
//ИСПОЛЬЗОВАНИЕ:
 
enum eFLAGS { eCLEAR = 0, eONE = 1<<1, eTWO = 1<<2, eTHREE = 1<<3 };
typedef tools::TFlag<eFLAGS> Flag;
 
Flag f(eONE|eTWO);
EXPECT_EQ(eONE|eTWO,    f.GetByEnumeration()    );
EXPECT_EQ(false,        f.Empty()               );
EXPECT_EQ(true,        (f)? true: false         );
EXPECT_EQ(true,         f.Has(eONE)             );
EXPECT_EQ(true,         f.Has(eONE|eTWO)        );
EXPECT_EQ(false,        f.Has(eONE|eTWO|eTHREE) );
EXPECT_EQ(true,         f.HasAny(eONE|eTWO)     );
EXPECT_EQ(true,         f.HasAny(eTWO|eTHREE)   );
EXPECT_EQ(false,        f.HasOnly(eONE)         );
EXPECT_EQ(true,         f.HasOnly(eONE|eTWO)    );
 
f.ValidOnly(eONE);
 
EXPECT_EQ(eONE,   f.GetByEnumeration()  );
EXPECT_EQ(false,  f.Empty()             );
EXPECT_EQ(true,  (f)? true: false       );
EXPECT_EQ(true,   f.Has(eONE)           );
EXPECT_EQ(false,  f.Has(eONE|eTWO)      );
EXPECT_EQ(true,   f.HasAny(eONE|eTWO)   );
EXPECT_EQ(false,  f.HasAny(eTWO|eTHREE) );
EXPECT_EQ(true,   f.HasOnly(eONE)       );
EXPECT_EQ(false,  f.HasOnly(eONE|eTWO)  );

Добавлено через 29 секунд
Цитата Сообщение от Tulosba Посмотреть сообщение
Для перегрузки значение не важно, важен тип.
не факт.
зависит от.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.09.2015, 23:30

Даны функциональная константа, предикатная константа и определённое количество аксиом. Как построить модель
Даны функциональная константа, предикатная константа и определённое количество аксиом. Как построит модель?

Доля отличников в классе больше 2/5, но меньше 3/7, а всего в классе не более 15 учеников. Сколько всего в классе учеников?
Добрый вечер! Подскажите, пожалуйста! &quot;Доля отличников в классе больше 2/5, но меньше 3/7, а всего в классе не более 15 учеников....

В классе инициализировать массив, в классе создать функцию вывода массива на экран
Прошу помоши с выводом данных, которые содержаться в массиве, на экраy: Задача: В классе инициализировать массив, в классе создать...

Как использовать объект класса, созданого в определеном классе, в другом классе
У меня такой вопрос,как использовать объект класса,созданого в определеном классе,в другом классе.У меня есть объект pl класса Player,это...

Как обьявить переменную в одном классе и что бы ее было видно в дочернем классе
У меня есть основной класс с названием Root один из его членов наследует дочерний класс SubRoot. Скажите как объявить, что бы один из...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru