0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 22
1

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

07.01.2018, 15:39. Показов 419. Ответов 5
Метки нет (Все метки)

Создать базовый класс «молодой человек» и производные классы «студент», «военнослужащий», «военный курсант». Выведите на экран сведения о военнообязанности.


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
#include <iostream>
#include <conio.h>
#include<stdlib.h>
using namespace std;
class molodoichelovek {
public:
    void show()
    {
        cout << "molodoichelovek\n";
    }
};
class student :public molodoichelovek
{
public:
    void show()
    {
        cout << "student\n";
    }
};
class voennosluzhawiy :
public molodoichelovek
{
public:
    void show()
    {
        cout << "voennosluzhawiy\n";
    }
};
class voenniykursant : public molodoichelovek {
public:
    void show()
    {
        cout << "voenniykursant\n";
    }
};
void main()
{
    system("CLS");
    molodoichelovek obj_molodoichelovek;
    molodoichelovek *p;
    student obj_student;
    voennosluzhawiy obj_voennosluzhawiy;
    voenniykursant obj_voenniykursant;
    p = &obj_molodoichelovek;
    p->show();
    p = &obj_student;
    p->show();
    p = &obj_voennosluzhawiy;
    p->show();
    p = &obj_voenniykursant;
    p->show();
    cin.get();
    system("pause");
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.01.2018, 15:39
Ответы с готовыми решениями:

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

виртуальные функции
сделать какой либо из методов класса виртуальным #include&lt;iostream.h&gt; #include&lt;stdio.h&gt; class...

Виртуальные функции
Пытаюсь понять что это такое но не понимаю. Может есть какие то болие понятные примеры , а то то...

Виртуальные функции
Создать базовый класс «работник больницы» и производные классы «медсестра», «хирург». Выведите на...

5
Заклинатель змей
609 / 507 / 213
Регистрация: 30.04.2016
Сообщений: 2,417
07.01.2018, 15:46 2
NoobValera, где виртуальность?
https://msdn.microsoft.com/ru-... 1k918.aspx
0
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 22
07.01.2018, 16:23  [ТС] 3
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
#include <iostream>
#include <clocale>
 
using namespace std;
 
class molodoichelovek {
public:
    int age;
    molodoichelovek(int age)  {
        this->age = age;
    }
    virtual void print() = 0;
};
 
class student : public molodoichelovek {
public:
    student(int age) : molodoichelovek(age) {}
    void print() {
        cout << "студент, " << age << " лет" << endl;
    }
};
 
class voennosluzhawiy  : public molodoichelovek {
public:
    voennosluzhawiy(int age) : molodoichelovek(age) {}
    void print() {
        cout << "Военнослужащий, " << age << " лет" << endl;
    }
};
class voenniykursant : public molodoichelovek {
public:
    voenniykursant(int age) :molodoichelovek(age) {}
    void print() {
        cout << "Военный курсант, " << age << " лет" << endl;
    }
};
int main() {
    setlocale(0, "");
 
    molodoichelovek* Student = new student(40);
    Student->print();
    cout << endl;
 
    molodoichelovek* Voennosluzhawiy = new voennosluzhawiy(70);
    Voennosluzhawiy->print();
    cout << endl;
    molodoichelovek* Voenniykursant = new voenniykursant(40);
    Voenniykursant->print();
    cout << endl;
    delete Student;
    delete Voennosluzhawiy;
    delete Voenniykursant;
    system("pause");
}
Добавлено через 12 минут
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
#include <iostream>
#include <clocale>
using namespace std;
class molodoichelovek {
public:
    int age;
    molodoichelovek(int age) {
        this->age = age;
    }
    virtual void print() = 0;
};
 
class student : public molodoichelovek {
public:
    student(int age) : molodoichelovek(age) {}
    void print() {
        cout << "студент, " << age << " лет" << endl;
        cout << "Так как студент учится,его не призывают в армию" << endl;
    }
};
 
class voennosluzhawiy : public molodoichelovek {
public:
    voennosluzhawiy(int age) : molodoichelovek(age) {}
    void print() {
        cout << "Военнослужащий, " << age << " года" << endl;
        cout << "Военнослужащему осталось еще 4 месяца до демобилизации" << endl;
    }
};
class voenniykursant : public molodoichelovek {
public:
    voenniykursant(int age) :molodoichelovek(age) {}
    void print() {
        cout << "Военный курсант, " << age << " лет" << endl;
        cout << "Военному курсанту осталось учится ещё 3 года" << endl;
    }
};
int main() {
    setlocale(0, "");
 
    molodoichelovek* Student = new student(19);
    Student->print();
    cout << endl;
 
    molodoichelovek* Voennosluzhawiy = new voennosluzhawiy(23);
    Voennosluzhawiy->print();
    cout << endl;
    molodoichelovek* Voenniykursant = new voenniykursant(18);
    Voenniykursant->print();
    cout << endl;
    delete Student;
    delete Voennosluzhawiy;
    delete Voenniykursant;
    system("pause");
}
Добавлено через 21 секунду
ну все, сделал вроде
0
Заклинатель змей
609 / 507 / 213
Регистрация: 30.04.2016
Сообщений: 2,417
07.01.2018, 17:13 4
NoobValera, метод print в молодом человеке можно сделать виртуальным,а не чисто виртуальным
0
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 22
08.01.2018, 10:40  [ТС] 5
DobroAlex, как?)
0
Заклинатель змей
609 / 507 / 213
Регистрация: 30.04.2016
Сообщений: 2,417
08.01.2018, 11:17 6
NoobValera,
C++
1
2
3
4
virtual void print()
{
   cout << "I'm young man\n";
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2018, 11:17

Виртуальные функции
Имеется базовый класс Shape: class Shape { protected: virtual void drawShape() { } } и...

виртуальные функции
ввести виртуальную функцию class A { void init(); } classB:A { void init(); }

Виртуальные функции
Здравствуйте,уважаемые посетители форума.Пишу программу созданию фигур и их перемещению на экране...

Виртуальные функции
Разработать программу с использованием наследования классов, реализующую классы: Земноводное(ареал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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