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

Интересный "баг" в коде - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ применение готовой Нейросети (cgi) http://www.cyberforum.ru/cpp-beginners/thread1629469.html
Здравствуйте. Вот такой код: //Analysis Type - TS_Reg #include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> double mlp13_1_MLP_13_13_1_input_hidden_weights=
C++ Поиск элемента в одномерном целочисленном массиве Определить есть ли в заданном одномерном целочисленном массиве элементы равные заданному x, и если такой элемент есть, то определить номер первого элемента равного x. http://www.cyberforum.ru/cpp-beginners/thread1629468.html
C++ Написать функцию сортировки двумерного массива, содержащего имена людей
Задание: Дан двумерный строковый массив, содержащий имена людей (Boris, Vladimir, Anna, Petr). Написать функцию сортировки двумерного массива. Я так понимаю делать нужно через классы, но что-то...
C++ Найти количество положительных, отрицательных и равных нулю элементов в одномерном вещественно массиве
Найдите количество положительный, отрицательных и равных нулю элементов в одномерном вещественно массиве. Помогите с задачей, пожалуйста. Буду очень признателен?
C++ Решение системы тригонометрических уравнений http://www.cyberforum.ru/cpp-beginners/thread1629443.html
Здравствуйте, форумчане! С наступающим новым годом) Возник вопрос: какими методами можно решить следующую систему уравнений, используя C++ xa=a*cos(z0)//Получаем координаты точки A ya=a*sin(z0)...
C++ C++ игра Конвэя "Жизни" using MPI Может кто нибудь помочь решить задачку у меня есть серийный код для игры Конвэя "Жизни" , я новичок в этом деле пока что только учусь .. мне нужно сконвертировать из обычного кода в параллельное... подробнее

Показать сообщение отдельно
rikimaru2013
C++ Game Dev
2439 / 1133 / 240
Регистрация: 30.11.2013
Сообщений: 3,690

Интересный "баг" в коде - C++

31.12.2015, 13:53. Просмотров 302. Ответов 10
Метки (Все метки)

Добрый день,

тема-задачка - данный "баг" был в реальном коде, и программист сопровождающий код не мог понять в чём загвоздка. Пришлось втроём делать hello world проект и понимать почему так) Я себе такой код сохранил, так как считаю его веселым) Сами себе палки в колёса сунули же ж.

Задача: что выведет на экран и почему?


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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream>
#include <string>
using namespace std;
 
const int INVALID_VALUE = -77;
 
struct Point2D
{
    int x;
    int y;
    Point2D()
    {
    }
    Point2D( const int _x, const int _y ) : x( _x ), y( _y )
    {
    }
    Point2D& operator=( Point2D& rhs )
    {
        x = rhs.x;
        y = rhs.y;
        return *this;
    }
};
 
struct Point3D : public Point2D
{
    int z;
 
    Point3D()
    {
    }
    Point3D( const int _x, const int _y, const int _z ) : Point2D(_x, _y), z( _z )
    {
    }
    Point3D& operator=( Point3D& rhs )
    {
        Point2D::operator=( rhs );
        z = rhs.z;
        return *this;
    }
    Point3D& operator=( Point2D& rhs )
    {
        Point2D::operator=( rhs );
        z = INVALID_VALUE;
        return *this;
    }
};
 
Point3D getCoordinate(const bool isUsedLike3D)
{
    Point3D b;
    b = (isUsedLike3D? Point3D( 3, 4, 5 ) : Point2D( 3, 4 ));
    return b;
}
 
 
int main()
{
    const bool isUsed3Dpoint = true;
 
    Point3D a = getCoordinate( isUsed3Dpoint );
 
    // sample using 
    cout << "x=" << a.x << " y=" << a.y;
    if(isUsed3Dpoint)
    {
        cout << " z=" << a.z;
    }
    cout << endl;
}
Ответ дам позже, чтобы сохранить интригу) Знающих тоже просил бы в спойлер засовывать ответ, чтобы другим было интересно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru