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

После объявления деструктора программа перестает выводить данные на экран - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать задачку на двумерные массивы(Шахматная доска.На ней расположены 2 черных коня и белый слон). http://www.cyberforum.ru/cpp-beginners/thread30448.html
Помогите написать задачку на двумерные массивы. Задача: Шахматная доска.На ней расположены 2 черных коня и белый слон.Проверить сколько коней под ударом.(про расположение фигур в условии речи не идет,поэтому наверное оно произвольное).
C++ Не пойму почему функция не переворачивает строку! #include <iostream> #include <string> using namespace std; void reversit(char word); int main() { const int MAX=80; int j; char word; cout<<"Vvedite Stro4ku:"; http://www.cyberforum.ru/cpp-beginners/thread30445.html
С++, массивы C++
Добрый день, всем!! помогите кто-нибудь, пожалуйста, с заданием: двумерный массив m на n (размерности массивов задаются именованными константами) заполнить случайным образом и: преобразовать массив т.о., чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом - все остальные. из всего задания я могу только массив задать, а дальше не знаю как делать((...
C++ Как очистить элементы массива?
Скажите, а можно как-то очистить массив? Допустим задан массив типа int mas. После некоторых вычислений, он заполнился следующими значениями, к примеру: mas = 20 mas = 23 mas = 35 ... mas = 55 Но мне нужно его очистить, чтобы записать новые значения. Подскажите, как это сделать?
C++ Класс STUDENT http://www.cyberforum.ru/cpp-beginners/thread30431.html
Создать класс STUDENT, имеющий имя, курс и идентификационный номер. Определить конструктор, деструктор и функцию печати. Создать производный класс public - STUDENT_1 , содержащий тему диплома. Определить конструкторы по умолчанию с разным числом параметров, деструктор, функцию печати. Определить названия диплома и идентификационного номера. Добавлено через 1 минуту 18 секунд Помогите...
C++ Написание пенсионного калькулятора помогите написать программу по вычислению пенсии плиз. что-то вроде пенсионного калькулятора. есть все формулы,вот только нет понятия как это сделать. подробнее

Показать сообщение отдельно
Etudiante
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
17.04.2009, 16:58  [ТС]     После объявления деструктора программа перестает выводить данные на экран
а теперь вот такая проблема:
добавляю объект класса Etudiant

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using namespace std;
 
int main() {
 
Racine** tab =new Racine*[10];
unsigned int count = 0;
 
int _note[10] = {1,2,3,4,5,6,7};
 
 
 
 
tab[count++] = new Etudiant("etudiant1", "etudiant1@xxx.fr", 25, "Mastere Specialisee", 12, 1); // объект класса студент  
tab[count++] = new Employe("MonsieurX", "MonsieurX@enst.fr", 40, "TSI", "CXX");
//tab[count++] = new Eleve("etudiant2", "etudiant2@.xxx.fr", 25, "Mastere Specialisee", 12, 2, _note);
 
 for(unsigned int i=0;  i<=count; i++)
//int i=0;
 
   tab[i]->afficher();
  
}
класс реализован так:

файл .hh

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
#include "Racine.hh"
 
 
#ifndef _ETUDIANT_HH
#define _ETUDIANT_HH
 
class Etudiant : public Racine {
protected:
  std::string type;
  int longeur, annee; //longeurs ={nombre de mois}; annee = {1,2,3} 
 
public: 
  Etudiant();
  Etudiant(const std::string &_nom, const std::string &_mail, int _age,
          const std::string &_type, int _longeur, int _annee);
          
 virtual ~Etudiant(){}; 
          
void afficher() const;  
    
  void put_type(const std::string &t);
  const std::string &get_type() const;
 
  void put_longeur(int l);
  const int get_longeur() const;
 
  void put_annee(int an);
  const int get_annee() const;
  
  virtual const int note_globale() const = 0;
 
};
 
#endif
файл .сс
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
#include <iostream>
#include "Racine.hh"
#include "Etudiant.hh"
 
 
using namespace std;
 
Etudiant::Etudiant()
{}
 
Etudiant::Etudiant(const std::string &_nom, const std::string &_mail, int _age,
 const std::string &_type, int _longeur, int _annee ):Racine(_nom, _mail, _age)
{
  type = _type;
  longeur = _longeur;
  annee = _annee;
}
 
//Etudiant::~Etudiant(){
    //delete &type;
    //delete &longeur;
    //delete &annee;
//}
 
void Etudiant::afficher() const {
cout <<"Nom: "<< get_nom()<<"\n";
    cout <<"Mail: "<< get_mail()<<"\n"; 
    cout <<"Age: "<< get_age()<<"\n";
    cout <<"Type: "<< get_type()<<"\n";
    cout <<"Longeur: "<< get_longeur()<<"\n";
    cout <<"Annee: "<< get_annee()<<"\n";
    cout <<"\n";
}
 
  void Etudiant::put_type(const string &t){
    type = t;
  }
 
  const string &Etudiant::get_type()const {
    return type;
  }
 
 
  void Etudiant::put_longeur(int l){
    longeur = l;
  }
 
  const int Etudiant::get_longeur() const{
    return longeur;
  }
 
  void Etudiant::put_annee(int an){
    annee = an;
  }
 
  const int Etudiant::get_annee() const{
    return annee;
  }
пытаюсь сделать виртуальный пустой деструктор (виртуальный, потому что в классе есть виртуальная функция note_globale()) , компилятор говорит:

cannot allocate an object of type Etudiant because the follow virtual function is abstract.

Препод хочет, чтобы эта функция была абстрактной и не реализовывалась в классе Etudiant, а реализовывалась в его подклассах (в данном случае класс Eleve).

Подскажите, плиз, что я делаю не так?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru