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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Neznakomec
3 / 3 / 0
Регистрация: 23.10.2012
Сообщений: 17
#1

Открытые члены класса переделать в закрытые - C++

24.02.2013, 20:33. Просмотров 329. Ответов 2
Метки нет (Все метки)

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
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
float sum=0.0; int *s; int *z; string sotr;  float zar;
class rabota
{     public: rabota()
             {cout<<"Работает конструктор\n";
             string *s=new string[];
             cout<< "Введите ФИО: \n";  cin>>sotr; 
             float *z=new float[];
             cout<< "Введите зарплату: \n";     cin>>zar;}
            ~rabota()
            {delete []s;
            delete []z;}
    void vivodspisok () 
    {   cout<< "Фамилия сотрудника: " << "    " << sotr << "\n";
        cout<< "Зарплата: " << "   " << zar << "\n"; 
        sum=sum+zar;} 
    void nepoluch () 
    { 
    if (zar == 0) 
    cout<< sotr << "  ne poluchil zarplatu \n"; 
    } 
    }; 
    int main () 
    { setlocale (LC_ALL, "Russian");
    rabota ofic1;
    ofic1.vivodspisok();
    ofic1.nepoluch();   
    rabota ofic2;
    ofic2.vivodspisok();
    ofic2.nepoluch();   
    rabota ofic3;
    ofic3.vivodspisok();
    ofic3.nepoluch(); 
 
 
    cout<< "Общая сумма выданной зарплаты " <<sum<<"\n"; 
 
    system ("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2013, 20:33     Открытые члены класса переделать в закрытые
Посмотрите здесь:

Создайте класс, содержащий 2 закрытые переменные и открытые функции - C++
Создайте класс, содержащий 2 закрытые переменные (катеты прямоугольного треугольника) и открытые функции (для присвоения значений...

Закрытые поля класса - C++
Здравствуйте.Помогите разобраться с кодом. Определен следующий класс: struct Cls { Cls(char c, double d, int i); private: ...

Указатели на члены класса - C++
Здравствуйте, В коде при вызове функции print() из CL2 вызывается print() из CL1. Подскажите, где грабли. Заранее спасибо. ...

Private и public члены класса - C++
Привет! Есть такой класс: class CDateTime{ private: qint16 year_; qint8 month_, day_; qint8 hours_, minutes_,...

Массив указателей на члены класса - C++
Здравствуйте, подскажите, пожалуйста, как корректно использовать массив указателей на члены класса. list.h Объявление...

Где инициализировать члены класса CTreeCtrl? - C++
В диалоговом окне, например, оконные члены класса инициализируются в OnInitDialog(). Мне нужно получить буквы всех дисков, которые уже...

Указатель на члены класса (pointer-to-member) - C++
Здравствуйте, пример из книги Гелберта Шилтда. #include &lt;iostream&gt; using namespace std; class myclass { public: int...

Underfined refference to .(все члены класса) - C++
Есть класс: list.h : #ifndef LIST_H #define LIST_H const char nullptr = 0; template &lt;class Data&gt; struct ListItem ...

Массив указателей на функции-члены класса - C++
Задача заключается в том, что в private надо создать статическую переменную символьного типа, в protected просто переменные вещественного...

Как на практике используются указатели на члены класса - C++
Вопрос №3. А как на практике используются указатели на члены класса? Они в реальном коде вообще используется? Приведите пример когда они...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
24.02.2013, 20:47     Открытые члены класса переделать в закрытые #2
да тут походу вообще полей у класса нет.
и вместо них глобальные переменные.
Вопрос: Ты структуры изучал уже?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
float sum=0.0; 
class rabota
{     
string sotr; 
float zar;
public: rabota()
             {cout<<"Работает конструктор\n";
             cout<< "Введите ФИО: \n";  cin>>sotr; 
             cout<< "Введите зарплату: \n";     cin>>zar;
}
    void vivodspisok () 
    {   
         cout<< "Фамилия сотрудника: " << "    " << sotr << "\n";
        cout<< "Зарплата: " << "   " << zar << "\n"; 
      } 
    void nepoluch () 
    { 
    if (zar == 0) 
    cout<< sotr << "  ne poluchil zarplatu \n"; 
    } 
};
Это как минимум. А вообще тут всё надо переписать, начиная с того, что конструктору не следует вести на экране диалоги с пользователем.

Не по теме:

"Работает конструктор" ещё можно простить, предположив, что этот вывод сделан для отладки и демонстрации, когда вызывается конструктор.


Стоп-стоп. Я походу ещё и задания не понял. класс "работа" должен содержать массивы сотрудников???
Neznakomec
3 / 3 / 0
Регистрация: 23.10.2012
Сообщений: 17
24.02.2013, 21:18  [ТС]     Открытые члены класса переделать в закрытые #3
Мы только начали, у нас сейчас тема Классы, со структурами мы ещё не работали, пару буквально классам посвятили и уже практическая, сейчас сижу в окружении учебников. Благодарю за любую оказанную помощь.

Добавлено через 14 минут
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
#include <iostream>
#include <string>
using namespace std;
float sum=0.0;
class rabota
{    string sotr;  
     public: 
    float zar;
    void zarplata ()
    {       cout<< "Введите ФИО: \n";   cin>>sotr; 
            cout<< "Введите зарплату: \n";  cin>>zar;}
    void vivodspisok () 
    {   cout<< "Фамилия сотрудника: " << "    " << sotr << "\n";
        cout<< "Зарплата: " << "   " << zar << "\n"; 
        sum=sum+zar;} 
    void nepoluch () 
    { 
    if (zar == 0) 
    cout<< sotr << "  ne poluchil zarplatu \n"; 
    } 
    }; 
    int main () 
    { setlocale (LC_ALL, "Russian");
    rabota ofic[3];
    int i;
    for (i=0; i<3; i++)
    ofic[i].zarplata();
    for (i=0; i<3; i++)
    ofic[i].vivodspisok();
    for (i=0; i<3; i++)
    ofic[i].nepoluch();     
    for ( i=0; i<3; i++);
    sum = sum + ofic[i].zar; 
    cout << "Общая сумма выданной зарплаты " <<sum<<"\n"; 
    system ("pause");
    return 0;
}
Ответ Создать тему
Опции темы

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