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

Выполнение не той функции при наследовании - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заголовочные файлы http://www.cyberforum.ru/cpp-beginners/thread526004.html
Компилятор выдает ошибку на запись: #include <iostream.h> - "не удается открыть источник файл iostream.h". Скажите, iostream.h - это библиотека? Она автоматически устанавливается? Как исправить эту ошибку?
C++ присоединение к слову "!" Слово вводится с клавиатуры. к данному слову присоединить столько "!" сколько в нем имеется букв http://www.cyberforum.ru/cpp-beginners/thread526002.html
C++ Переставить местами строки с четными и нечетными номерами в матрице
В общем суть такова, надо ввести 2 матрицы 4*4,и найти кол-во элементов больших 2.5( NA и NB соответственно). За тем переставить местами строки с четными и нечетными номерами в матрице А, если NA>NB, или в В если наоборот( матрица С) и вывести. Ребята, очень надо, лаба по инфе, 27 последний день сдачи((
C++ Чтение и запись в файл
Люди скиньте пожалуйста информацию по этой теме "Чтение и запись в файл" Очень надо
C++ Виртуальные функции(помогите исправить) http://www.cyberforum.ru/cpp-beginners/thread525992.html
Задание: Создать абстрактный базовый класс Figure с виртуальной функцией - площадь. Создать производные классы Square, Circle, Triangle, Trapeze в которых данная функция переопределена. В функции main определить массив указателей на абстрактный класс, которым присваиваются адреса различных объектов. Наработки: #include<iostream> #include<math.h> using namespace std;
C++ Алгоритм обхода поля Игра, Сапер, когда нажимаешь на пустую клетку, то открывается поле, состоящее из пустых клеток, так вот, проблема именно в этом алгоритме. Суть в общем такова, смотрим 8 клеток вокруг нажатой и если она пустая то рекурсивно вызываем эту же функцию, и т.д. Проблема в том, что алгоритм нужно довести до ума, ибо иногда курсор убегает влево и прога вылетает с ошибкой виндоуса или же программа... подробнее

Показать сообщение отдельно
Султан
4 / 4 / 1
Регистрация: 11.03.2012
Сообщений: 114
23.03.2012, 00:02     Выполнение не той функции при наследовании
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
#pragma hdrstop
 
#include <iostream.h>
#include <conio.h>
#include <tchar.h>
#include <string>
//---------------------------------------------------------------------------
class publication
{
  protected:
    string name;
    float symm;
  public:
    void getdata()
    {
      wcout<<L"Введите название книги: ";
      getline(cin,name);
      wcout<<L"Введите ее цену:        ";
      cin>>symm;
    }
 
    void showdata() const
    {
      cout<<"-------------------------------------";
      wcout<<L"\n\nКнига: ";cout<< name <<endl;
      wcout<<L"Цена:  " << symm<<L"р."<<endl;
      cin.get();
    }
};
 
class publication2 : public publication
{
  protected:
    int dd;
    int mm;
    int gggg;
  public:
    publication2():dd(0),mm(0),gggg(0){}
 
    void getdate()
    {
      publication::getdata();
      char sim = '/';
      wcout << L"Введите дату в формате dd/mm/gggg\n";
      cin >> dd >> sim >> mm >> sim >> gggg;
    }
 
    void showdate()const
    {
      publication::showdata();
      char sim = '/';
      wcout << L"Дата выхода: " << dd<<sim<<mm<<sim<<gggg;
        }
};
 
class book : public publication2
{
  private:
    int srtan;
  public:
    void getdata()
    {
      publication2::getdata();
      wcout<<L"Введите колличество страниц в книге: ";
      cin>>srtan;
 
    }
 
    void showdata() const
    {
      publication2::showdata();
      wcout<<L"Колличество страниц: "<<srtan<<L" стр."<<endl;
 
    }
};
 
class type : public publication2
{
  private:
    float min;
  public:
    void getdata()
    {
      publication2::getdata();
      wcout<<L"Введите длинну аудиокниги: ";
      cin>>min;
    }
 
    void showdata() const
    {
      publication2::showdata();
      wcout<<L"Длинна аудиокниги: "<<min<<L" мин."<<endl;
    }
};
 
#pragma argsused
int main(int argc, _TCHAR* argv[])
{
  wcout.imbue(locale(".866"));
 
  type k1;
  book k2;
  k1.getdata();
  k1.showdata();
  k2.getdata();
  k2.showdata();
 
  system("pause");
  return 0;
}
//---------------------------------------------------------------------------
При выполнении publication2::getdata(); выполняется функция publication::getdata(); что в принципе не правильно,но почему не могу разобраться.
Сначала было дано 3 класса : publication,type и book.затем добавил publication2 в котором вводиться дата.
Помогите решить проблему.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru