Форум программистов, компьютерный форум 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

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

17.04.2009, 15:53. Просмотров 631. Ответов 9
Метки (Все метки)

Помогите, плиз!
Без деструктора программа работает (правда, компилятор возмущается, что их нет). После того, как я его добавляю, данные на экран больше не выводятся

файл .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
#include <string>
#ifndef _RACINE_HH
#define _RACINE_HH
class Racine {
protected:
  std::string nom, mail;
  int age;
 
public: 
  Racine();
  Racine(const std::string &_nom, const std::string &_mail, int _age); 
  virtual ~Racine(){}; //деструктор
  virtual  void afficher() const; //функция вывода на экран
 
 
  void put_nom(const std::string &n);
  const std::string &get_nom() const;
 
  void put_mail(const std::string &m);
  const std::string &get_mail() const;
 
  void put_age(int a);
  const int get_age() const;
 
 
};
#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
#include <iostream>
#include "Racine.hh"
 
using namespace std;
 
Racine::Racine(const std::string &_nom, const std::string &_mail, int _age)
{nom=_nom; mail=_mail; age=_age;}
 
Racine::Racine()
{}
//Racine::~Racine(){
    //delete &nom;
    //delete &mail;
    //delete &age;
//}
 
void Racine::afficher() const {
cout <<"Nom: "<< get_nom()<<"\n";
    cout <<"Mail: "<< get_mail()<<"\n"; 
    cout <<"Age: "<< get_age()<<"\n";
}
  void Racine::put_nom(const string &n){
    nom = n;
  }
 
  const string &Racine::get_nom()const {
    return nom;
  }
 
 
 
 
  void Racine::put_mail(const std::string &m){
    mail = m;
  }
 
  const string &Racine::get_mail() const{
    return mail;
  }
 
  void Racine::put_age(int a){
    age = a;
  }
 
  const int Racine::get_age() const{
    return age;
  }
подкласс Employe

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
файл .hh
 
#include <string>
#include "Racine.hh"
 
class Employe : public Racine {
  std::string dep, bureau;
  
public: 
  Employe();
  Employe(const std::string &_nom, const std::string &_mail, int _age,
          const std::string &_dep,const std::string &_bureau);
  ~Employe(){};  //деструктор     
 
  void afficher() const;
  void put_dep(const std::string &d);
  const std::string &get_dep() const;
 
  void put_bureau(const std::string &b);
  const std::string &get_bureau() const;
  
};
файл .сс
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
#include <iostream>
#include "Racine.hh"
#include "Employe.hh"
 
 
using namespace std;
 
Employe::Employe()
{}
 
Employe::Employe(const std::string &_nom, const std::string &_mail, int _age,
          const std::string &_dep, const std::string &_bureau):Racine(_nom, _mail, _age)
{dep=_dep;
bureau=_bureau;}
 
//Employe::~Employe(){ //деструктор
    //delete &nom;
    //delete &mail;
    //delete &age;
    //delete &dep;
    //delete &bureau;
//}
 
void Employe::afficher() const { //вывод на экран данныъ об объекте
cout <<"Nom: "<< get_nom()<<"\n";
    cout <<"Mail: "<< get_mail()<<"\n"; 
    cout <<"Age: "<< get_age()<<"\n";
    cout <<"Departement: "<< get_dep()<<"\n";
    cout <<"Bureau: "<< get_bureau()<<"\n";
    cout <<"\n";
    
}
 
  void Employe::put_dep(const string &d){
    dep = d;
  }
 
  const string &Employe::get_dep()const {
    return dep;
  }
 
  void Employe::put_bureau(const string &b){
    bureau = b;
  }
 
  const string &Employe::get_bureau()const {
    return bureau;
  }
сама программка: выводит на экран данные про MonsieurX, работает без деструктора, с деструктором компилятор ошибку не выдает, но на экран не выводится ничего!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using namespace std;
 
int main() {
 
Racine** tab =new Racine*[10]; //подразумевается, что объектов много :)
unsigned int count = 0;
 
tab[count++] = new Employe("MonsieurX", "MonsieurX@xxx.fr", 40, "TSI", "CXX");
 
 for(unsigned int i=0;  i<=count; i++)
 
   tab[i]->afficher(); //вывод на экран (реализация выше)
  
  
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru