Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
MrAndrey_ka
77 / 77 / 2
Регистрация: 13.05.2009
Сообщений: 536
Записей в блоге: 1
#1

Класс без свойств - C++

30.03.2014, 00:03. Просмотров 314. Ответов 3
Метки нет (Все метки)

В с++ можно создать класс у которого нет свойств только методы. Но какой длинны будет тогда объект такого класса? Если его включить в другой класс то на что это повлияет, и как правильней обращаться к методам, через переменную или через "::"

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

C++
1
2
3
4
5
6
7
8
9
10
template< typename BaseType>
class strangeType{
public:
#define BufTp   Bufer<BaseType>
    typedef WCHAR L_Char;
 
    static BufTp* NumberToStr(const INT64 val, int sys);
    static BufTp* NumberToStr(const double val, int sys);
    static Bufer<BaseType>* ToBaseType(LPCWSTR pszSrc, size_t Count, UINT Code = CP_UTF8);
    };
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 00:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс без свойств (C++):

Задача на класс с заданным набором свойств - C++
Условия задача. Название товара, Категория товара, Цена, Количество. Вычислить общую стоимость товара. Действия, выполняемые...

Базовый класс в иерархии наследования. Вывод свойств объектов - C++
Здрасти. Помогите исправить функцию print_out именно таким образом: void print_out() { void print_out_prop1(); //...

Создать класс Person со свойствами name, gender, age, married и методами чтения/установки этих свойств - C++
Задание: Код: Person.h #include &lt;string&gt; #ifndef PERSON_H #define PERSON_H class Person { private: bool gender,...

В задании необходимо реализовать класс согласно указанному варианту. Предусмотреть необходимый набор методов, свойств и индексаторов в реализуемых кла - C++
В задании необходимо реализовать класс Матрица целых чисел. Предусмотреть необходимый набор методов, свойств и индексаторов в реализуемых...

Класс с деструктором без конструктора - C++
Ребят подскажите, имеем например такой код: class first { public: first() { }

Абстрактный класс без виртуальных функций - C++
Мне нужен класс без виртуальных функций, но чтобы его нельзя было создать. Можно ли такое реализовать?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DrOffset
7090 / 4231 / 950
Регистрация: 30.01.2014
Сообщений: 7,006
30.03.2014, 01:06 #2
Цитата Сообщение от MrAndrey_ka Посмотреть сообщение
Но какой длинны будет тогда объект такого класса?
sizeof будет как минимум 1. Это требование связано с тем, что любой объект может быть адресован (иметь адрес).

Добавлено через 2 минуты
В стандарте: 9/4
Complete objects and member subobjects of class type shall have nonzero size.
Добавлено через 9 минут
Цитата Сообщение от MrAndrey_ka Посмотреть сообщение
Если его включить в другой класс то на что это повлияет
Смотря как включать.
В 1.8/5 написано:
Base class subobjects may have zero size
Что, однако, не противоречит первой цитате. Т.к. размер результирующего класса уже будет >= 1. Есть идиома, построенная на основе этого - Empty Base Optimization.
MrAndrey_ka
77 / 77 / 2
Регистрация: 13.05.2009
Сообщений: 536
Записей в блоге: 1
01.04.2014, 13:05  [ТС] #3
Смотря как включать.
Вот так:
C++
1
2
typedef typename strangeType<Type>::L_Char L_Char;
strangeType<Type>::NumberToStr(val, sys);
хотя это даже не включение а просто использование методов этого класса
DrOffset
7090 / 4231 / 950
Регистрация: 30.01.2014
Сообщений: 7,006
01.04.2014, 14:07 #4
Цитата Сообщение от MrAndrey_ka Посмотреть сообщение
хотя это даже не включение
Именно. Ответ, я думаю, ты и сам уже знаешь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2014, 14:07
Привет! Вот еще темы с ответами:

А как добавить класс в содержимое без наследования и тп? - C++
Задача по теме: Объекты и классы. &quot;Расширьте содержание класса employee из упражнения 4, включив в него класс date.&quot; Класс...

Вылет программы без error-ов и warrning-ов. Класс матриц - C++
Здравствуйте. Никак не могу найти причину вылета ошибки моей программы, связанной с перегрузкой +. Помогите. #include &lt;iostream&gt; ...

Класс без конструктора. Ошибка 1 неразрешенных внешних элементов - C++
Добрый вечер. Помогите исправить ошибку. Пример у Страуструпа не работает. При компиляции появляется ошибка 1 неразрешенных внешних...

Класс без имени: почему у меня скомпилировалась такая конструкция? - C++
Приветствую! Почему у меня скомпилировалась такая конструкция? class { private: int n; public: };


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.04.2014, 14:07
Ответ Создать тему
Опции темы

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