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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Игра на C++ http://www.cyberforum.ru/cpp/thread1336395.html
Здравствуйте! Интересует такой вопрос: При знаниях: Переменные, условия, циклы, функции, библиотеки в языке C++, можно ли создать игру на подобии call of duty, mafia 2 и т.д, только без графики, чтоб без меню, игра сразу начиналась, враги также стреляли и т.д, чтоб можно было работать с понорамой, т.е звук врага звучал с его стороны и все такое.
C++ Ввести с клавиатуры массив строк символов данным Ввести с клавиатуры массив строк символов данным о расписании движения поездов по станции Москва: номер поезда, направление движения, время отправления, перрон. Выделить составные части строк и записать их в соответствующие поля массива структур. http://www.cyberforum.ru/cpp/thread1336290.html
Rand()%n Нужна замена C++
Хочу создать генератор случайный чисел, пишу k=rand%99, начинаю подбор, вывожу k. Вроде все ок, числа разные каждый раз. Закрываю консоль. Запускаю прогу снова, и тут замечаю, что числа те же, что и в прошлом запуске, идут в том же порядке ... Как этого избежать, мне всегда нужны разные числа ...
C++ Создать текстовый файл
Создать текстовый файл, состоящий из десятичных чисел без знака. Записать в новый файл десятичные числа и их двоичные коды. Переименовать новый файл на старый.
C++ Запросить у пользователя целое число m, и вывести числа в m строк в файл http://www.cyberforum.ru/cpp/thread1335358.html
В файле a.txt заданно некоторое количество целых чисел. Напишите программу, которая запрашивает у пользователя целое число m, и выводит числа в m строк. Последняя строка модет иметьменьше элементов чем предыдущие. и пожалуйста как можно проще, спасибо.
C++ Атака на оперативную память как организовать атаку на оперативную память? какие библиотеки использовать? кроме меня в сети никто не интересовался этим похоже) язык предпочтительнее С/С++ подробнее

Показать сообщение отдельно
FraidZZ
Модератор
 Аватар для FraidZZ
3894 / 1520 / 229
Регистрация: 06.01.2013
Сообщений: 4,048
Завершенные тесты: 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
 
Текущее время: 00:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru