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

Не понимаю текста программы. Что будет напечатано в результате программы? И что вообще происходит в программе? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Игра на C++ http://www.cyberforum.ru/cpp/thread1336395.html
Здравствуйте! Интересует такой вопрос: При знаниях: Переменные, условия, циклы, функции, библиотеки в языке C++, можно ли создать игру на подобии call of duty, mafia 2 и т.д, только без графики,...
C++ Атака на оперативную память как организовать атаку на оперативную память? какие библиотеки использовать? кроме меня в сети никто не интересовался этим похоже) язык предпочтительнее С/С++ http://www.cyberforum.ru/cpp/thread1334646.html
C++ C++ std::regex каким образом можно вывести все совпадения?
Работаю в Visual Studio 2012. Каким образом я могу получить значения всех совпадений? Ищу так: std::string input; std::regex r("+"); std::smatch m; input = "hjfas5464sad11s2";...
Измененение даты последней модификации файла C++
Нужно дате изменения присвоить дату создания. Вот кусок кода, подскажите, пожалуйста, что я делаю не так bool consttime() { HANDLE hFile = CreateFile(szCounterFileName, GENERIC_READ, 0, NULL, ...
C++ Промоделировать некоторую игру http://www.cyberforum.ru/cpp/thread1331475.html
Ребята помогите промоделировать игру в с++. Игра происходит на прямоугольном поле. Игрок в начале располагается в правом верхнем углу. И он умеет перемещаться только влево и вниз. Каждая клеточка...
C++ Генератор с возможность создания более 3 млрд паролей и выводом в файл Ребята, кто сможет достать код из программы, или написать на с++ Нужен просто такой генератор с возможность создания более 3 млрд паролей и выводом в файл, при этом не перегружая оперативку И... подробнее

Показать сообщение отдельно
FraidZZ
Ex-Member
3898 / 1524 / 229
Регистрация: 06.01.2013
Сообщений: 4,050
Завершенные тесты: 1
20.12.2014, 22:53
Ничего. Откуда код?
Как минимум в деструкторе вместо - использовать ~
И вместо « использовать <<

Добавлено через 3 минуты
Да и синтаксически это что-то ужасно непонятное.

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
class B {
  int x;
 
  public:
  B (int a=0) { x = a; cout << 1; }
  ~B () { cout << 3; }
};
class D : public B {
 
  public:
  D (int d ) : B (d) { cout << 6; }
  ~D () { cout << 4; }
};
int main () {
  B * p1 = new B[2], *p2 = new D(1);
  delete [] p1;
  delete p2;
  return 0;
}
Как минимум сделать так.
Вывод будет 1116333

Добавлено через 8 минут
Поясняю почему так:
Сначала. Вызывается два раза конструктор B - выводится 11
Затем вызывается конструктор B в списке инициализации перед запуском конструктора D - вместе они выдают 16
Затем два раза вызывается деструктор D - вывод 33
И ещё раз деструктор D - тоже 3.
Почему в последний раз вызывается деструктор D, а не B? Потому что тип указателя - B*, а какой деструктор необходимо вызывать, разрешается на этапе компиляции, а не в рантайме через VMT
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru