Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
[progeR]
30 / 8 / 0
Регистрация: 20.08.2011
Сообщений: 609
Завершенные тесты: 1
#1

Что нужно прописать в классе, чтобы никаким образом невозможно было создать от него объект? - C++

16.08.2016, 16:17. Просмотров 197. Ответов 9
Метки нет (Все метки)

Добрый день. Задача: создать "статический класс".
Подстажите, плз, что нужно прописать в классе, чтобы никаким образом невозможно было создать от него объект? Конструктор как delete я пометил, еще что?

PS C++11
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2016, 16:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что нужно прописать в классе, чтобы никаким образом невозможно было создать от него объект? (C++):

Что объявить в классе-контейнере, чтобы его можно было перебирать поэлементно - C++
что и как надо объявить в своем классе-контейнере, чтобы его можно было перебирать поэлементно через цикл на диапазонах? там вроде должны...

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

Написал программу по смене слов в строке, но нужно что бы можно было вводить слова с клавиатуры.Что нужно ? - C++
// ConsoleApplication7.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <string> ...

Преобразовать массив таким образом, чтобы в нем не было повторяющихся чисел - C++
Создать и заполнить случайными числами два целочисленных массива. Преобразовать эти массивы таким образом, чтобы в них не было...

Что нужно знать, чтобы создать класс String? - C++
Здравствуйте! Подскажите, про какие функции и разделы прочитать, чтобы сделать данное задание: "Разработать класс String определив для...

Невозможно отформатировать\переразметить ЖД никаким образом - Жесткие диски
Есть винч, на котором стоит ХР, разметка - два раздела, 50 и 200 гигов. Общий объем - 250 гигов. Есть необходимость ее переустановить,...

9
John Prick
803 / 736 / 145
Регистрация: 27.07.2012
Сообщений: 2,108
Завершенные тесты: 3
16.08.2016, 16:19 #2
Конструктор в секцию private перенести.
0
HighPredator
5544 / 1857 / 346
Регистрация: 10.12.2010
Сообщений: 5,479
Записей в блоге: 2
16.08.2016, 16:23 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Хотя бы один чисто виртуальный метод.

Добавлено через 1 минуту
И это будет называться не статический класс, а абстрактный класс.
1
[progeR]
30 / 8 / 0
Регистрация: 20.08.2011
Сообщений: 609
Завершенные тесты: 1
16.08.2016, 16:26  [ТС] #4
Статических классов нет, я знаю.
Хм, если private будет достаточно...
0
rikimaru2013
C++ Game Dev
2439 / 1133 / 240
Регистрация: 30.11.2013
Сообщений: 3,690
16.08.2016, 16:29 #5
[progeR], читайте внимательнее - запихнув в private экземпляр вашего класса может существовать и его наличие контролируется данным классом или соглашениями дружбы. А вот как пишет уважаемый HighPredator, pure virtual method решит вашу проблему с корнями
0
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
16.08.2016, 16:30 #6
[progeR], можно еще деструктор пометить как delete.
0
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
16.08.2016, 16:35 #7
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
решит вашу проблему с корнями
Не решит, если от класса отнаследоваться и реализовать виртуальный метод, то можно будет создать его объект в качестве подобъекта наследника, даже если конструктор (какой-то один) при этом помечен как delete.
0
HighPredator
5544 / 1857 / 346
Регистрация: 10.12.2010
Сообщений: 5,479
Записей в блоге: 2
16.08.2016, 16:37 #8
DrOffset, никто не говорил что надо и наследование запретить Ну если и это тоже не надо, то тогда метим класс как final в догонку и все.
0
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
16.08.2016, 16:39 #9
Цитата Сообщение от HighPredator Посмотреть сообщение
никто не говорил что надо и наследование запретить
Автор говорил это:
Цитата Сообщение от [progeR] Посмотреть сообщение
никаким образом невозможно было создать от него объект
наследование только способ получить возможность создания объекта, а не цель запрета
0
HighPredator
5544 / 1857 / 346
Регистрация: 10.12.2010
Сообщений: 5,479
Записей в блоге: 2
16.08.2016, 16:41 #10
DrOffset, там еще было "от него".. ок, мне лень спорить
0
16.08.2016, 16:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2016, 16:41
Привет! Вот еще темы с ответами:

Где нужно создать объект чтобы его было по всему коду страницы - C# ASP.NET
Здравствуйте! Вопрос покажется смешным, но я хотел бы узнать, где нужно создать объект чтобы его было по всему коду страницы, чтобы не...

Что нужно прописать, что бы в таблицу можно было ФИО добавить? - PHP БД
Вот sql запрос...CREATE TABLE `tz_members` ( `id` int(11) NOT NULL auto_increment, `usr` varchar(32) collate utf8_unicode_ci NOT...

Textbox - что прописать в условии, чтобы точку нельзя было ввести больше одного раза - C#
Создается textbox для ввода суммы налички , требуется сделать так, чтобы точку можно было вводить лишь раз. Вот код условия для ввода...

Нужно, чтобы при drag and drop было видно перемещаемый объект - Visual Basic .NET
нужно чтобы был виден перетаскиваемый объект например текст или просто буква


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru