|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|||||||||||
Статический класс25.04.2024, 04:02. Показов 10750. Ответов 165
Метки нет (Все метки)
Всем привет
хочу создать полностью статический класс и создаю но возникают ошибки неопределенные reference и пр. хотелось бы сделать так
пишу в итоге так
при компиляции получаю ошибки необъявленные ссылки на var1, var2 .... undefined reference to `SomeClass::var1 вопрос как объявить статический метод класса, а в идеале и вообще весь класс, чтобы не создавать в коде его экземпляр? Добавлено через 4 минуты основная задача вынести этот статический класс в один файл то бишь в модуль не хедер + cpp а сразу все в одном как в шарпах - очень удобно это они придумали в шарпах
0
|
|||||||||||
| 25.04.2024, 04:02 | |
|
Ответы с готовыми решениями:
165
Дан класс, преобразуйте его в статический класс со статическими методами и продемонстрируйте работу с ним Статический класс Статический член указатель на класс |
|
6312 / 3035 / 1053
Регистрация: 01.06.2021
Сообщений: 11,537
|
|
| 25.04.2024, 13:58 | |
|
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 25.04.2024, 14:07 | |
|
Royal_X, у ТС вполне определенный и достаточно узкий контекст вопроса:
1) он не хотел иметь «лишних» cpp (читай как запихать все в header) 2) у него была одна конкретная проблема с ODR (имя было ODR-used, но определение отсутствовало) И ещё одна потенциальная проблема при отказе от cpp (наоборот, множественное определение, если перенести определение в header), как показал Алексей в своём посте. inline все эти нюансы закрывает.
0
|
|
|
6312 / 3035 / 1053
Регистрация: 01.06.2021
Сообщений: 11,537
|
|
| 25.04.2024, 14:13 | |
|
DrOffset, прочёл только что условие, ТС упоминает модули. Может быть он хочет использовать https://en.cppreference.com/w/cpp/language/modules ?
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 25.04.2024, 14:32 | ||
|
И кому от этого легче. For ALL Не поддавайтесь безумию и деградации. Надумывание - один из признаков деградации.
1
|
||
|
6312 / 3035 / 1053
Регистрация: 01.06.2021
Сообщений: 11,537
|
||
| 25.04.2024, 14:45 | ||
|
0
|
||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||
| 25.04.2024, 15:27 [ТС] | ||
|
потому что вдруг потом захочу сделать экземпляры класса.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 25.04.2024, 15:36 | |||
|
Добавлено через 1 минуту Тогда всё придется переписывать и пере-какывать.
0
|
|||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
|
||
| 25.04.2024, 16:27 | ||
|
Процитированный вам текст ведет речь о том, что слово inline потеряло свою изначальную роль "запроса встраивания функции". Назначение inline в современном С++ - это модификация ODR. В этой роли inline критически важно и используется повсеместно и обязательно. Ни о каком избегании использования inline не может быть и речи.
0
|
||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|||||||
| 25.04.2024, 19:05 [ТС] | |||||||
|
таким образом + поигравшись в визуал студио
получается невозможно в с++ создать полностью статический класс. что я имею ввиду под "полностью статическим" это то что внутри класса есть статические методы и я хочу их вызвать не создавая экземпляр класса. т.е. есть вариант только с использованием namespace ? другого нет? возникает вопрос - почему такого нет? Добавлено через 4 минуты
я хочу чтобы вместо namespace был class - и этого не реализовать? это противоречит какой-то концепции или чему-то еще? почему хочу класс, потому что в классе неважно как располагать переменные можно выше можно ниже метода - это удобно , особенно когда класс "распух" не приходится заниматься работой по вынесению объявлений/определений в нужные места . пардон , ошибочка - в namespace тоже не ругает.
0
|
|||||||
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|
| 25.04.2024, 19:06 | |
|
тебе же показали в 5м посте такой класс
0
|
|
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||||||||||||
| 25.04.2024, 19:10 [ТС] | ||||||||||||
ну так это не он - зачем мне структура ![]() я тогда наймспейс сделаю. я хочу именно класс но чтобы у него были статические методы, но можно было и создать экземпляр класса - вот сформулировалось. т.е. аналогично как в 1С документНакладная у него есть модуль объекта - это методы объекта и есть модуль менеджера - это статические члены. Но сам объект я создавать пока не хочу, хочу пользоваться только статикой. а потом когда-то захочу. и мне надо чтобы статика осталась и экземпляры объекта можно было создавать и передавать их по ссылке, со структурой такого вроде бы невозможно -она, вроде как, по ссылке не передается.
0
|
||||||||||||
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|||
| 25.04.2024, 19:15 | |||
![]() Добавлено через 3 минуты лутше ты этого не писал бы, щас начнется ![]() ну замени struct на class, поля и конструктор перенеси в private а методы (нужные для доступа) в public
0
|
|||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|||||||
| 25.04.2024, 19:22 [ТС] | |||||||
![]() я ж поэтому и пишу Добавлено через 1 минуту
как вызвать Method?
0
|
|||||||
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|
| 25.04.2024, 19:23 | |
|
0
|
|
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
||
| 25.04.2024, 19:24 | ||
|
pup_kin, если сделать все элементы со словом "static", то и получится это чудо-юдо как в шарпе.
Поля всё равно лучше "наверху" такого класса расположить, зачем бардак разводить? структура в этом плане ничем не отличается от класса Добавлено через 28 секунд
0
|
||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||
| 25.04.2024, 19:24 [ТС] | ||
|
собственно вот и вопрос
у меня есть точно такой же класс как в примере 5 и у него есть статические методы и статические переменные и как их вызывать в этом и вопрос Добавлено через 18 секунд
0
|
||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 25.04.2024, 19:25 | |
|
0
|
|
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||||||
| 25.04.2024, 19:33 [ТС] | ||||||
|
блин, точно
)) сорян публик столько суеты развел всем спасибо Добавлено через 4 минуты а стоп, какой публик c этого же и началось все вчера такой код не работает
получается рабочий только вариант с namespace, а внутрь него положить статику и класс. Других вариантов нет?
0
|
||||||
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
||
| 25.04.2024, 19:37 | ||
|
pup_kin, static inline для полей
1
|
||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|||||||
| 25.04.2024, 19:38 [ТС] | |||||||
|
получается типа такого
0
|
|||||||
| 25.04.2024, 19:38 | |
|
Не могу вызвать простой статический класс Статический полиморфизм. Базовый класс «прямоугольник» Нужно создать статический массив строк как статический массив указателей на строки. Условние ниже --> создать статический массив строк как статический массив указателей на строки, задание ниже --> Объясните человеческим языком мне чайнику что такое singleton, статический класс. Зачем они нужны. Что рекомендуете прочитать мне для начала Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
|
После бана на Пикабу не работает авторизация аккаунта с Яндекса.
Hrethgir 09.07.2026
В частности https:/ / auto. ru/ logbook/ zapret-na-vozhdenie-posle-65-let_1cf28789-07b4-4c75-a2f7-4cd4edf9deeb тут хотел оставить комментарий такой
Зрите в корень - монополизация на разработку программ. . .
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|