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

странности при вызове конструкторов копирования с++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как взломать Wi-Fi сеть http://www.cyberforum.ru/cpp/thread765430.html
люди подскажите пож. как взломать wi-fi...заранье спасибо
C++ Странное поведение стандартной библиотеки Всем привет. Обнаружил неправильное, по моему скромному мнению, поведение стандартной библиотеки. Дело в том, что в СБШ определены операторы сравнения всех контейнеров. Больше, меньше, равно, не равно, и т.д. Например, для класса "std::set<...>" оператор "меньше" определён следующим образом: template <class _Key, class _Compare, class _Allocator> inline _LIBCPP_INLINE_VISIBILITY bool... http://www.cyberforum.ru/cpp/thread765174.html
SDL Графика C++
Может кто чем поможет? -Написать фильтр преобразования матрицы изображения к бинарному виду. (только белый (255.255.255) или только чёрный (0.0.0)(двойным циклом , передавать число. >127 - становится чёрным, <127 - белым.) -Написать фильтр преобразования к чёрнобелому виду. (Greyscale). Основной код #include <stdio.h> #include <stdlib.h> #include<SDL2/SDL.h> struct Pixel{
Виртуальный замок C++
Доброе утро! Возникла такая проблема. Допустим, я хочу запретить наследоваться от своего класса другим классам и получить ошибку компиляции(но не пряча при этом конструктор и деструктор в приватную секцию, и не используя С++11). Для этого я пишу виртуальный замок (virtual lock) class Lock { friend class Foo; Lock() { } Lock(const Lock&) { } };
C++ Ваше профессиональное мнение http://www.cyberforum.ru/cpp/thread752437.html
Здравствуйте! Очень нужно ваше профессиональное мнение и опыт, а ещё лучше преподавательский опыт. Хочу основательно подготовиться к экзамену. Экзамен по системному программному обеспечению. Подскажите пожалуйста, что обязательно нужно знать по вот этим темам: 1. Системное программное обеспечение. Классификация. 2. Виртуальные машины: архитектура, достоинства и недостатки. 3. Реализация...
C++ Шифрование и обфускация принимается за вирус? Дело вот в чем. Есть программа, при проверке которой онлайн антивирус и антивирус на компе утверждают, что скачивание не безопасно. Но сам создатель говорит, что антивирусники тупят, потому что он зашифровал код, а также ссылается на обфускацию. При проверке онлайн выводит infected with BackDoor.XtremeRat.3. Может такое быть или там на самом деле вирус и он просто разводит? Сейчас показывает,... подробнее

Показать сообщение отдельно
densvr
Сообщений: n/a
20.01.2013, 19:04     странности при вызове конструкторов копирования с++
Здравствуйте! Хочу задать вопрос по c++ (visual с++ 2010 express).

Имеется вот такой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Parent {
public:
Parent() {}
Parent(const Parent& Parent) {}
};
 
class Child: public Parent {
public:
Child() {}
Child(const Child& Child) {}
};
 
void main() {
Child c;
Child c2(c);
}
Мне казалось, что концепция языка такова: при вызове конструктора класса, предок которого имеет такой же конструктор, вначале вызывается этот конструктор предка, а уже затем выполняется код в конструкторе нашего класса.

Но в данном примере при создании класса c2 конструктором Child::Child(const Child&) вызывается не Parent::Parent(const Parent&) а Parent::Parent(void).
(отследил с помощью точек останова и пошагового выполнения)

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