Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить программу сортировки одномерного массива и элементов контейнера типа list https://www.cyberforum.ru/ cpp-beginners/ thread2163341.html
Вариант 2. п/п m 1 11,5041 2 11,0043 3 11,4940 4 11,3964 5 11,4951 cp 11,3788 Массив • разместить динамически массивы и заполнить его значениями измерений радиусов кривизны двух пробных...
C++ Содержание таблицы символов COFF объетного файла?
Тут я нашел объяснение почти всех колонн. Но что на счет 2ой и 4ой? И почему во второй колонне находятся по большому счету только нули?
C++ Рекурсивный метод https://www.cyberforum.ru/ cpp-beginners/ thread2163335.html
Помогите доделать пожалуйста #include <iostream> #include<math.h> #include<conio.h> using namespace std;
C++ Дано N колец сцепленных между собой. Удалить минимальное количество колец так, чтобы получилась цепочка Дано N колец сцепленных между собой. Удалить минимальное количество колец так, чтобы получилась цепочка. Сделать это используя матрицу инцидентности Помогите пожалуйста, буду благодарен ... https://www.cyberforum.ru/ cpp-beginners/ thread2163324.html
Вывести на экран изображение государственного флага России C++
а) Напишите программу, которая бы выводила на экран изображение государственного флага России. Используйте для этого отметки соответствующего цвета. Цвет фона выберите по собственному желанию;
C++ Составить программу для вычисления выражения https://www.cyberforum.ru/ cpp-beginners/ thread2163321.html
Составить программу для вычисления выражения : {log}_{2}a + {log}_{b}c / {log}_{b+2}(a+c) Напишите программу пожалуйста.
C++ удаление из строки слов минимальной длины помгите не могу найти ошибку после ввода строки ничего не происходит // ммин.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include... https://www.cyberforum.ru/ cpp-beginners/ thread2163320.html C++ Двумерный массив С++
#include <iostream> #include <iomanip> #include <fstream> #include <stdio.h> #include <math.h> using namespace std; int i, j; void main() {
C++ Что делает директива #define ? https://www.cyberforum.ru/ cpp-beginners/ thread2163265.html
Что это значит? Задача с рядом Тейлора, 0.001 - это точность разложения. Опишите подробнее, почему так можно сделать? #define EPS 0.001
C++ Вычислить значение выражения https://www.cyberforum.ru/ cpp-beginners/ thread2163264.html
C++ Найти произведение последних отрицательных элементов массива
N - количество всех элементов M - количество последних отрицательных элементов Как написать цикл для этого? Пробую такой, программа не видит его for (i = N; i < M; i--) { k = a*(a - 1);...
C++ Найти сумму элементов массива расположенных после нулевого элемента используя указатель Дароу, пожалуйста,кто может помочь и объяснить? Нужно найти сумму элементов массива, расположенных после нулевого элемента массива целых чисел, с помощью указателей.Пожалуйста помогите дцп:) ... https://www.cyberforum.ru/ cpp-beginners/ thread2163260.html
1487 / 951 / 811
Регистрация: 30.04.2016
Сообщений: 3,315
26.12.2017, 20:49 0

Создать класс с полями (поле 1, поле 2) и методами (конструктор, функция обработки полей) - C++ - Ответ 11984000

26.12.2017, 20:49. Показов 11256. Ответов 7
Метки (Все метки)

Ответ

dizzying, здравствуйте! Вот программа, которая демонстрирует базовое применение виртуальной функции (в качестве задания полей для каждого объекта используются конструктор по умолчанию для каждого дочернего класса):

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
110
111
112
#include <bits/stdc++.h>
 
const int N = 3;
 
using namespace std;
 
class CompanyEmployee { //Базовый класс
 
private:
    
    int accessLevel;
    string position;
 
public:
    
    virtual void printData() {
        cout << "Access level: " << accessLevel << "\n";
        cout << "Position: " << position << "\n";
        cout << "It's a method for CompanyEmployee class!" << "\n";
    }
 
    void setALevel(int level) {
        accessLevel = level;
    }
    void setAPosition(string position)
    {
        this->position = position;
    }
    int getALevel() {
        return accessLevel;
    }
    string getAPosition() {
        return position;
    }
 
    CompanyEmployee() { //Конструктор по умолчанию
        setALevel(0);
        setAPosition("Newcomer");
    }
};
 
class Trainee : public CompanyEmployee
{
 
public:
    
    void printData()
    {
        cout << "Access level: " << getALevel() << "\n";
        cout << "Position: " << getAPosition() << "\n";
        cout << "It's a method for Trainee class!" << "\n";
    }
    
    Trainee() { //Конструктор по умолчанию
        setALevel(1);
        setAPosition("Trainee");
    }
};
 
class Manager : public CompanyEmployee
{
 
public:
    
    void printData()
    {
        cout << "Access level: " << getALevel() << "\n";
        cout << "Position: " << getAPosition() << "\n";
        cout << "It's a method for Manager class!" << "\n";
    }
    
    Manager() { //Конструктор по умолчанию
        setALevel(2);
        setAPosition("Manager");
    }
};
 
class Director : public CompanyEmployee
{
 
public:
    
    void printData()
    {
        cout << "Access level: " << getALevel() << "\n";
        cout << "Position: " << getAPosition() << "\n";
        cout << "It's a method for Director class!" << "\n";
    }
    
    Director() { //Конструктор по умолчанию
        setALevel(3);
        setAPosition("Director");
    }
};
 
int main()
{
    CompanyEmployee* obj[N];
 
    obj[0] = new Trainee();
    obj[1] = new Manager();
    obj[2] = new Director();
 
    for (int i = 0; i < N; i++)
    {
        obj[i]->printData();
        cout << "\n";
    }
 
    system("pause");
    return 0;
}
P.S. Уберите слово
C++
1
virtual
, чтобы увидеть разницу.

Вернуться к обсуждению:
Создать класс с полями (поле 1, поле 2) и методами (конструктор, функция обработки полей) C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.12.2017, 20:49
Готовые ответы и решения:

Создайте производный класс с дополнительными полями, конструктором по умолчанию и методами чтения/изменения значений этих полей
Помогите! Завтра экзамен,времени нет! Заранее спасибо. 11. На базе заданного класса создайте...

Друзья, подскажите, как в классе создать константное поле, ссылочное поле и объектное поле?
Препод на защите лабораторной по классам дал задание большое. В общем-то все пункты я знаю как...

Создать абстрактный класс с общими полями и методами. В производных классах перегрузить чисто виртуальную функцию - общая стоимость всех изделий
Помогите пожалуйста!!! Не могу правильно создать абстрактный класс! Создать абстрактный класс с...

Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать...

7
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2017, 20:49

Создать класс с двумя полями и тремя методами
Для всех вариантов задач создать класс с указанными двумя полями (Поле 1, Поле 2) и тремя методами:...

Создать класс с указанными двумя полями и тремя методами
Здравствуйте! Для всех вариантов задач создать класс с указанными двумя полями (Поле 1, Поле 2) и...

Создать класс с полями, конструктор с параметрами
Создать класс Пользователь с полями: логин, пароль, идентификатор (поля закрыты, доступ к полям...

Создать класс с двумя полями (часы, минуты) и тремя методами
Здравствуйте! Для всех вариантов задач создать класс с указанными двумя полями (Поле 1, Поле 2) и...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru