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

Собеседования по С++ для джуна - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Необязательные временные объекты http://www.cyberforum.ru/cpp-beginners/thread1506633.html
Помогите с задачкой: Класс Car содержит модель автомобиля. Функция Find определяет, присутствует ли указанная модель в списке автомобилей. class Car { string model_; public: Car(string mod) :model_(mod){} bool operator==(const Car& other) {
C++ Уведомления между потоками Здравствуйте! Набросал код для экспериментов: #include "stdafx.h" int блок_1(HWND *hWnd, MyStruct* strukt_1); int сервис_1(HWND *hWnd, MyStruct* strukt_1); void блок(HWND *hWnd, MyStruct* strukt_1)//запускаем основной поток { int q = 0; http://www.cyberforum.ru/cpp-beginners/thread1506588.html
C++ Когда в ОС используется COM ?
Для каких действий ОС использует COM технологию ? Всегда ли она используется при исполнении exe файлов?
C++ Где найти все глаголы для ShellExecute ?
Здравствуйте. Где и как посмотреть список допустимых глаголов системы? Знаю о существовании страницы в msdn , но функция которую я нашел в интернете и использую использует глагол "runas", которого нет на странице.
C++ Write some short C or C++ code to generate a segmentation fault http://www.cyberforum.ru/cpp-beginners/thread1506555.html
Write some short C or C++ code to generate a segmentation fault
C++ Write some short C or C++ code to generate a stack overflow Write some short C or C++ code to generate a stack overflow подробнее

Показать сообщение отдельно
hoggy
5230 / 2121 / 404
Регистрация: 15.11.2014
Сообщений: 4,812
Завершенные тесты: 1
05.08.2015, 11:06     Собеседования по С++ для джуна
Цитата Сообщение от ct0r Посмотреть сообщение
Тоже верно. Но получить нулевой размер подобъекта базового класса не получится не потому, что он не нулевой и занимает память, а потому что
5.3.3 p2 The result of applying sizeof to a base class subobject is the size of the base class type.
То есть по определению sizeof возвращается размер базового класса, а не самого подобъекта базового класса. То есть ты ну вообще никак не сможешь вывести реальный размер этого самого подобъекта базового класса. А этот размер может быть в действительности меньше результата sizeof.
примерно об этом я и толдычу уже хз сколько времени.

я несколько раз делал ударение на различие понятий "объект" и "подобъект".
и делал акцент: работать мы можем только с объектами.

а "подобъект" - всего лишь абстракция,
которая обозначает отношение включения.

я считаю некорректно называть "подобъект" частным случаем "объекта".

вот есть объект "автомобиль".
мы поставили его на "паром".

от этого этот "автомобиль" не стал быть "частным случаем автомобиля".
это тот же самый автомобиль.
и мы можем к нему обратиться,
и в этом случае обращение будет именно как к "объекту-атомобилю",
а не как к "части парома".

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

Цитата Сообщение от Ilot Посмотреть сообщение
hoggy, как вы это прокомментируете?
Цитата Сообщение от Ilot Посмотреть сообщение
Согласно основному принципу С++ объект существует после того как отработает его конструктор. При построении объекта производного класса отрабатывают конструкторы базового. Следовательно объект базового класса существует.
это - очень правильная мысль.
в которой весьма точно подмеченно - конструкторы отрабатывают для объектов.
вы можете попробовать взять размер объекта в конструкторе,
и убедиться, что он - не нулевой.

объект базового класса действительно существует.
к нему можно обратиться.

цемес в том, что это будет обращение именно к объекту,
а не к "подобъекту".

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

вроде бы все логично и верно.

но понимаете, все дело в том,
что формально никаких подобъектов не существует.

это - абстракция, которая фимгурирует лишь в декларации классов,
и в голове программиста.

вся работа ведется только с объектами.
а объекты нулевыми быть не могут.
 
Текущее время: 00:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru