Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Односвязный список https://www.cyberforum.ru/ cpp-beginners/ thread2194419.html
#include "stdafx.h" #include <iostream> #include <locale.h> #include <conio.h> using namespace std; struct Sotrudnik { char secondname, firstname, position;
Вывести N первых треугольных чисел через пробел C++
Требуется написать программу, при выполнении которой с клавиатуры считывается натуральное число N (не более 100). Вывести N первых треугольных чисел через пробел. K-ое треугольное число получается из...
C++ Ошибка "undefined reference to"
Не удается скомпилировать battery.h #ifndef BATTERY_H_INCLUDED #define BATTERY_H_INCLUDED class Battery{ public: Battery (int n, double e, double r); void show() const; double...
C++ Односвязный список Здравствуйте! Набросал односвязный список, однако все никак не могу разобраться с добавлением и удалением. Добавить необходимо после некоторого элемента (дан его индекс), а удалить необходимо все... https://www.cyberforum.ru/ cpp-beginners/ thread2194410.html
C++ Ввод чисел (численных данных) через указатель https://www.cyberforum.ru/ cpp-beginners/ thread2194390.html
Здравствуйте. Согласно заданию, мне было нужно составить программу, в которой будут использоваться структура и объединение. Также необходимо использование различных указателей. Возникла проблема с...
техническое задание C++
подскажите верно ли я пытаюсь реализовать данное задание? имеется блок считывания карты для списания денег, нужно сделать чтобы по чипу считывались данные с карты я думаю это реализовать таким...
C++ Найти сумму чисел последовательности
Помогите пожалуйста решить задачу, понимаю, что она очень простая, но всё равно никак не могу к ней подступиться. На стандартном потоке ввода задаётся последовательность целых чисел. Каждое число...
C++ Количество способов вставить скобки в правильную скобочную последовательность Здравствуйте! Задача: Вводится строка из символов "(" и ")" .Строка всегда будет правильной скобочной последовательностью. Нужно посчитать количество способов вставить скобки "(" и ")" (по одной)... https://www.cyberforum.ru/ cpp-beginners/ thread2194372.html
C++ Метод OpenService не возвращает handle https://www.cyberforum.ru/ cpp-beginners/ thread2194362.html
var serviceHandle = OpenService( scManagerHandle, svc.ServiceName, SERVICE_QUERY_CONFIG | SERVICE_CHANGE_CONFIG); if (serviceHandle == IntPtr.Zero) { throw new...
C++ Сравнение сумм цифр чисел С клавиатуры вводятся 2 четырехзначных числа. Вывести сумму цифр этих чисел. Определить какая сумма цифр больше и вывести ее. https://www.cyberforum.ru/ cpp-beginners/ thread2194358.html
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 27
0

Виртуальные функции

23.02.2018, 14:30. Показов 872. Ответов 3
Метки (Все метки)

Объясните строку 106
И еще, почему перед каждой x1 x2 y стоит звездочка.
Я вроде понимаю что это указатель, но зачем он именно каждый раз ставится, нельзя без него обойтись?


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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include <iostream>
using namespace std;
 
class X 
{
     
    protected:
        float *x1, *x2;  
    public:
      
        X(float a, float b)
        {
 
            x1 = new float;
            x2 = new float;
         
            *x1 = a;
            *x2 = b;
        }
        
                                                                                    // виртуальная функция просмотра текущего состояния базового класса
        virtual void view()
        {
            cout << "x1=" << *x1 << " x2=" << *x2 << endl;
        }
        
                                                                                    // виртуальная функция установки состояния базового класса в новое значение
        virtual void set_new()
        {
             
            cout << "Vvedite x1: ";
            cin >> *x1;
            cout << "Vvedite x2: ";
            cin >> *x2;
        }
             
      
        ~X()
        {
 
            delete x1;
            delete x2;
        }
};
 
 
class Y:public X
{
    private:
        float *y;  
    public:
        
         
        Y(float a, float b, float c):X(a,b)  
        {
             
            y = new float;
          // *y = c;
        }
        
                                                                                    // виртуальная функция просмотра текущего состояния класса наследника
        virtual void view()
        {
             
            cout << "x1=" << *x1 << " x2=" << *x2 << " y=" << *y << endl;
        }
        
                                                                                    // виртуальная функция установки новых значений 
        virtual void set_new()
        {
            cout << "Vvedite x1: ";
            cin >> *x1;
            cout << "Vvedite x2: ";
            cin >> *x2;
            cout << "Vvedite y: ";
            cin >> *y;
        }
        
        ~Y()
        {
            delete y;
        }
        
        void Run()
        {
            cout << "Otvet: " << ( *x1 - *x2 )* *y << endl;
        }
};
 
int main()
{
    X *t;  
    t = new X(0,0);  
    t->view();  
    t->set_new();  
  //  t->view();  
    
    delete t;  
    
    t = new Y(0, 0, 0);  
    t->view();  
    t->set_new();  
    t->view();  
    
 
    ((Y*) t)->Run();    
    
    delete t;  
}


Вернуться к обсуждению:
Виртуальные функции
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2018, 14:30
Готовые ответы и решения:

Виртуальные и чисто виртуальные функции
Чем они отличаются?? если можно, с примерами. И как из виртуальной функции сделать чисто...

Виртуальные функции
Объясните пожалуйста зачем нужны чисто виртуальные функции?

виртуальные функции
Всем привет, помогите с исправлением функции #include&lt;iostream.h&gt; #include&lt;conio.h&gt;...

виртуальные функции
Помогите плиз с вертуальными функциями. Некак немогу понят вот эту задачу: переопределяемая...

3
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.