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

Элементарный класс для работы с файлами, компилятор выдает ошибку, что не так с private - C++

Восстановить пароль Регистрация
 
Quite Correct
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 3
10.12.2012, 04:06     Элементарный класс для работы с файлами, компилятор выдает ошибку, что не так с private #1
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
#include <ctime>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#include <string>
#include <fstream>
 
using namespace std;
 
class TDate{
private:
    string ATC3, INN, ATC1;
    double PLN_UN;
    double poland_dollars, UKR_D, UKR_UN, RUS_UN, RUS_D;
public:
    TDate(){ ATC3 = ""; INN = ""; ATC1 = "null"; PLN_UN = 0; poland_dollars = 0; UKR_UN = 0; UKR_D = 0; RUS_UN = 0; RUS_D = 0;};
    TDate(string X,string Y, char x1, double x2, double x3, double x4, double x5, double x6, double x7)
    { 
        ATC3 = X; INN = Y; ATC1 = x1; PLN_UN = x2; poland_dollars = x3; UKR_UN = x4; UKR_D = x5; RUS_UN = x6; RUS_D = x7;
    };
    ~TDate(){};
 
    TDate& SetATC3(string X){ ATC3 = X; return *this; };
    TDate& SetINN(string X){ INN = X; return *this; };
    TDate& SetATC1(string X){ ATC1 = X; return *this; };
    TDate& SetPLN_UN(double X){ PLN_UN = X; return *this; };
    TDate& Setpoland_dollars(double X){ poland_dollars = X; return *this; };
    TDate& SetUKR_D(double X){ UKR_D = X; return *this; };
    TDate& SetUKR_UN(double X){ UKR_UN = X; return *this; };
    TDate& SetRUS_UN(double X){ RUS_UN = X; return *this; };
    TDate& SetRUS_D(double X){ RUS_D = X; return *this; };
 
    string GetATC3(){ return ATC3; };
    string GetINN(){ return INN; };
    string GetATC1(){ return ATC1; };
    double GetPLN_UN(){ return PLN_UN; };
    double Getpoland_dollars(){ return poland_dollars; };
    double GetUKR_D(){ return UKR_D; };
    double GetUKR_UN(){ return UKR_UN; };
    double GetRUS_UN(){ return RUS_UN; };
    double GetRUS_D(){ return RUS_D; };
 };
 
int main()
{
    int N = 4, M = 9;
    TDate* Mass = new TDate[N];
 
    ifstream ifile("testfile.txt");
 
    string **a = new string*[N];
    for(int i = 0; i < N; i++)
        a[i] = new string[3];
 
    double** d = new double*[N];
    for(int i = 0; i < N; i++)
        d[i] = new double[6];
 
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < M; j++)
        {
            if (j < 3)
            {
                string s;
                while (strcmp(s.c_str(), ";") != 0)
                {
                    if (strcmp(a[i][j].c_str(), "") == 0)
                        a[i][j] = s;
                    else
                        a[i][j] = a[i][j] + " " + s;
                    ifile >> s;
                }
            }
            else
            {
                ifile >> d[i][j - 3];
            }
        }
        Mass[i].SetATC1(a[i][0]).SetATC3(a[i][1]).SetINN(a[i][2]).SetPLN_UN(d[i][0]).Setpoland_dollars(d[i][1]).SetRUS_UN(d[i][2]).SetRUS_D(d[i][3]).SetUKR_UN(d[i][4]).SetUKR_D(d[i][5]);
    }
 
    ifile.close();
    ofstream mfile("Groupfile.txt");
 for(int i = 0; i < N; i++)
{ 
    if (Mass[i].poland_dollars>500000)&&(Mass[i].UKR_D=0)&&(Mass[i].RUS_D=0)
 {
in<<Mass[i].GetATC1()<<"  "<<Mass[i].GetATC3()<<"  "Mass[i].GetINN()<<"  "<<Mass[i].GetPLN_UN()<<"  "<<Mass[i].Getpoland_dollars()<<"  "<<Mass[i].GetUKR_UN()<<"  "<<Mass[i].GetUKR_D()<<"  "<<Mass[i].GetRUS_UN()<<" "<<Mass[i].GetRUS_D()<<endl;)
}
}
cout<<"Job is done";
getch();
    return 0;
}
Суть проблемы: После компиляции выдает ошибку следующего толка : "double TDate:: poland_dollars' is private.
В чем вообще загвоздка? Ведь в поля класса я могу "пихать" по факту любые переменные на свой вкус. Что с этой-то не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 04:06     Элементарный класс для работы с файлами, компилятор выдает ошибку, что не так с private
Посмотрите здесь:

C++ wxDEV-C++ компилятор выдает ошибку
что не так в программе, выдает ошибку... C++
Мой класс для работы с файлами C++
Компилятор выдает ошибку C++
C++ компилятор выдает ошибку
Класс для работы с файлами C++
C++ LoadKeyboardLayout - компилятор выдает ошибку
Выдает ошибку,тут что не так? Простейший класс C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Quite Correct
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 3
11.12.2012, 18:30  [ТС]     Элементарный класс для работы с файлами, компилятор выдает ошибку, что не так с private #2
Разобрался, забыл вызывать функции-селекторы для доступа к полям класса.
Yandex
Объявления
11.12.2012, 18:30     Элементарный класс для работы с файлами, компилятор выдает ошибку, что не так с private
Ответ Создать тему
Опции темы

Текущее время: 17:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru