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

ввод параметров класса с клавиатуры/из файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа на линейный список http://www.cyberforum.ru/cpp-beginners/thread30469.html
Есть программа... Помогите сделать её же, но ввиде линейного списка. Вот условие задачи: (Автоматизированная информационная система на жд вокзале содержит инфо о отправлении поездов. Для...
C++ Ошибка С2665 Я совсем начинающий.... Подскажите что такое: error C2665: 'info_number' : none of the 2 overloads can convert parameter 2 from type 'struct a ' http://www.cyberforum.ru/cpp-beginners/thread30462.html
Как научиться писать грамотно программы со смыслом?)Почему у кого то получается,а у кого то нет?Мож поделитесь Хитростями:) C++
Интересно просто,или расскажите вашу историю скоко учились,скоко ошибок было в изучении С++,а то иногда так сложно распишут что думаешь емае куда я попал!Ну вот расскажите обо всем и о том что в...
C++ После объявления деструктора программа перестает выводить данные на экран
Помогите, плиз! Без деструктора программа работает (правда, компилятор возмущается, что их нет). После того, как я его добавляю, данные на экран больше не выводятся :( файл .hh #include...
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:"; подробнее

Показать сообщение отдельно
Etudiante
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47

ввод параметров класса с клавиатуры/из файла - C++

17.04.2009, 18:56. Просмотров 1004. Ответов 0
Метки (Все метки)

опять нужна помощь

Есть программа, в которой можно объявлять/ менять объекты разных классов. Объект создается с помощью конструктора с параметром. Теперь нужно добавить возможность ввода данных с клавиатуры/файла и записи данных в файл.
Если честно, слабо представляю даже с чего начинать.... стоит создать для этого новые методы или менять прямо функцию main()?

код такой:

файл .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;
  
  //void entree_clavier_nom(const std::string &n);
 
 
};
#endif
корневой класс, файл .cc

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
#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()
{}
 
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;
  }

подкласс, файл .hh

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#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
#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;}
 
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;
  }
и наконец функция main


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
#include <iostream>
//#include"Racine.hh"
#include"Etudiant.hh"
#include"Employe.hh"
#include "Eleve.hh"
 
using namespace std;
 
int main() {
 
Racine** tab =new Racine*[10];
unsigned int count = 0;
 
 
 
tab[count++] = new Employe("MonsieurX", "MonsieurX@enst.fr", 40, "TSI", "CXX");
//tab[count++] = new Eleve("eleve1", "eleve1@xxx.fr", 25, "Mastere Specialisee", 12, 2, _note); /* еще один подкласс корневого класса, пока для простоты про него забываем */
 
 for(unsigned int i=0;  i<=count; i++)
//int i=0;
 
   tab[i]->afficher();
  
   
 }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru