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

Наследуются ли конструкторы и деструкторы? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отсылка межпроцессовых сообщений http://www.cyberforum.ru/cpp-beginners/thread37857.html
Есть два процесса основной и дочерний, как дочернему отправить сообщение, точнее даже вопрос не как отправить, а как получить, вот отправлять пытаюсь так STARTUPINFO sic; ZeroMemory (&sic, sizeof(sic)); sic.cb = sizeof(sic); LPCSTR t = "hi"; LPCSTR name = "Slave"; UINT msg = RegisterWindowMessage(t); ...
C++ Класс TPlane, описывающий плоскость в пространстве Собственно само задание: переписать программу, используя новые знания о классах и перезагрузке операций. Использовать динамическое выделение памяти под создаваемый объект. Класс TPlane, описывающий плоскость в пространстве, проходящую через 3 точки. Есть возможность вычислять положение точки на плоскости по заданным 2-м координатам, пересечение плоскости с прямой, а так же вычислять... http://www.cyberforum.ru/cpp-beginners/thread37856.html
Полиморфизм своими словами C++
Дайте определения полиморфизма своими слова. А так же примерчик, который ярко выражает полиморфизм. Спасибо.
c++ C++
Что значит строки v_arr(arr, N); w_arr(arr, N);
C++ Проблемы с sort() http://www.cyberforum.ru/cpp-beginners/thread37844.html
В #include "stdafx.h" #include <iostream> #include <ctime> #include <algorithm> using namespace std; void out(int *a,int n,int k); void vin(int *a,int n); void copt(int *a,int n,int k); bool my (int i,int j) { return (i<j); }
C++ Генератор случайных чисел в интервале (0;10) Как сгенерировать случайную последовательность целых чисел лежащих в интервале то 0 до 10? Т.е. как задать границы для генерации ПСЧ. подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12288 / 6975 / 784
Регистрация: 27.09.2012
Сообщений: 17,286
Записей в блоге: 2
Завершенные тесты: 1
15.01.2016, 12:04     Наследуются ли конструкторы и деструкторы?
Цитата Сообщение от mporro Посмотреть сообщение
Из того, что есть объект, вытекает, что у него есть тип.
Конечно есть. Но это не значит, что объекта нет, когда он не инициализирован.
Вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
class Test
{
public:
    int x ;
    int y ;
} ;
 
 
 
int main()
{
    Test * p  = new Test ;
    std::cout << p->x << ":" << p->y << std::endl ;
}
http://rextester.com/QNPUX19975
В данном случае инициализация не проводится, но объект есть.
Или хотите сказать, что его нет?
Точнее, инициализация проводится, но ничего при этом не инициализируется.
Lifetime объекта началось.
Не инициализирующая инициализация, круто, да?

Добавлено через 1 минуту
Цитата Сообщение от mporro Посмотреть сообщение
Раз он был создан -- конструктор был вызван.
Вызван. Только объект уже есть к тому времени. Он просто находится в вялом состоянии.
пример:
C++
1
std::string str = str ;//str инициализируется копирующим конструктором, при этом дефолтный не вызывается. Поэтому состояние str не понятно какое. Но объект есть.
Добавлено через 5 минут
Цитата Сообщение от mporro Посмотреть сообщение
Объект -- это не только память, но и связанный тип.
а еще время хранения. Но здесь не сказано, что не бывает не инициализированных объектов.

Добавлено через 2 минуты
Думаю, стоит закончить данный разговор.
Вывод здесь один - не инициализированный объект,
такой же объект, как и все остальные,
даже если в книжке по ООП говорится по другому.
Хотя бы потому, что ООП - не единственная парадигма,
которая худо-бедно поддерживается в C++.
 
Текущее время: 17:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru