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

Конструктор C++ и new - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевести синтаксис программы с Delphi в C++, очень нужно http://www.cyberforum.ru/cpp-beginners/thread703073.html
Даны два текстовых файла f1 и f2. Файл f1 содержит произвольный текст. Слова в тексте разделены пробелами и знаками препинания. Файл f2 содержит не более 30 слов, которые разделены запятыми. Эти...
C++ Произведение элементов с чётными номерами В одномерном массиве, состоящем из н целых элементов, вычислить: 1) произведение элементов с чётными номерами, 2) сумму элементов массива, расположенных между первым и последним нулевыми элементами.... http://www.cyberforum.ru/cpp-beginners/thread703071.html
C++ Программа на языке С++ в среде Visual Studio 2010
Здравствуйте Вот было задание-написать программу которая подсчитывает число ненулевых битов целого числа и использует операцию сдвига. Вот текст программы: #include "stdafx.h" #include...
C++ Сумма N целых положительных чисел
Доброго времени суток. Срочно нужна помощь в написании программы на С++, а именно-Написать программу которая вычисляет сумму N целых положительных чисел. количество вводится во время работы...
C++ Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму http://www.cyberforum.ru/cpp-beginners/thread703039.html
Определить, есть ли в заданном предложении цифры. И если есть, найти их сумму.
C++ Нужно отправить данные письмом Не понимаю как мне прикрепить файл который создаётся в программе. #include <iostream> #include <fstream> #include <time.h> #include <stdio.h> #include <windows.h> #include <winsock.h>... подробнее

Показать сообщение отдельно
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
20.11.2012, 15:23
alex_x_x, Как я понял - если используется конструктор по умолчанию, генерируемый компилятором, то он явно вызывает конструкторы по умолчанию для своих членов. Если же конструктор по умолчанию определен пользователем, то вызываются конструкторы по умолчанию только для не POD-типов.

Вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
 
 
struct A {
   int a;
};
 
class B {
 public:
   B()
   {
      
   }
   
   int get() const {
      return a;
   }
   
 private:
   int a;
};
 
int main() {
   A a;
   
   B b;
   
   std::cout << "A: " << a.a << ' ' << "B: " << b.get() << std::endl;
   
   return 0;
}
На выходе: A: 0 B: "мусор". Для A конструктор по умолчанию выглядит скорей всего так:

C++
1
2
3
4
5
A()
   : a()
{
 
}
Добавлено через 13 минут
Ну собственно нашел на просторах подтверждение своим догадкам:
http://www.fnal.gov/docs/working-groups/fpcltf/Pkg/ISOcxx/doc/POD.html
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru