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

Получить доступ к private полю объекта - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В матрице нужно найти квадрат 2x2 с максимальной суммой элементов и вывести эту сумму http://www.cyberforum.ru/cpp-beginners/thread1227643.html
Добрый день! У меня следующий вопрос. Дана матрица NxM в этой матрице нужно найти квадрат 2x2 с максимальной суммой элементов и вывести эту сумму. Заранее всем огромное спасибо.
C++ Как записать вывод в файл многократно for (int i = 0; i < 60; i ++){ Tovar *a = Vvod (number, Names); cout << "\n"; for (int i = 0; i < number; i ++){ if (a.Price > 1000){ Dollars = Dollars + a.Price; } } delete a; cout << "Результат задания:\nСумма товаров, которые стоят выше 1000р. = " << Dollars << "\n\n\n\n\n"; http://www.cyberforum.ru/cpp-beginners/thread1227609.html
Даны координаты вершин N-угольника, определить все целочисленные точки, лежащие внутри него C++
Добрый день. Подскажите максимально быстрый алгоритм. Есть координаты точек N-угольника. Как рассчитать координаты всех точек, которые ему принадлежат?
C++ Присвоить переменным значения из текстового файла
Здравствуйте. Только начинаю познавать великий и прекрасный Си "сложить" "сложить", просьба не ругаться на меня за банальные вопросы, а если это возможно пнуть в правильном направлении. Находясь в самом начале, примерно понял структуру языка, но запутался в синтаксисе. И теперь непосредственно, о том почему я тут все это пишу.. Изучаю Qt, необходимо написать программу, которая читает ранее...
C++ Получить вектор age, в котором порядок элементов соответствовал бы порядку элементов вектора name http://www.cyberforum.ru/cpp-beginners/thread1227544.html
Запишите пять имён в вектор vectro<string> name, затем предложите пользователю указать возраст названных людей и запишите их в вектор vector<double> age. Затем выведете на печать пять пар (name,age). Упорядочите имена (sort(name.begin(),name.end()) и выведете на печать пары(name, age). Сложность заключается в том, чтобы получить вектор age, в котором порядок следования элементов...
C++ Функция для вывода на экран прямоугольника Написать функцию для вывода на экран прямоугольника, заполненного определенным символом. Не получилось сделать. Помогите, если не трудно. подробнее

Показать сообщение отдельно
FloraWinx
 Аватар для FloraWinx
4 / 4 / 1
Регистрация: 05.10.2013
Сообщений: 122
15.07.2014, 16:10     Получить доступ к private полю объекта
Возможно я не правильно поставил свой вопрос но вопрос в следующем. Там где реализация метода poly_calc ()
я пытаюсь через указатель на поле объекта stack <int> coeffs вызвать метод top() (стек) но почему то у меня не получается хотя и вызвал метод геттер. В чем может быть проблема? Заранее спасибо
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
#include <iostream>
#include <time.h>
#include <stack>
#include <math.h>
using namespace std;
 
class Polynomial {
private:
    int pow; // deg of polynom
    int x; // arg
    stack <int> coeffs;
public:
    stack <int> Polynomial::get_coeff();
    int Polynomial::get_pow();
    int Polynomial::get_arg();
    int Polynomial::poly_calc( Polynomial *pol);
    int Polynomial::poly_add();
    int Polynomial::poly_subtract();
    int Polynomial::poly_mult();
     Polynomial::Polynomial(int &pow , int &x , stack<int> st);
     ~Polynomial();
 
};
 
 
 
 
 
stack<int> Polynomial::get_coeff(){
return coeffs;
}
 
 
Polynomial::Polynomial(int &_pow , int &_x , stack <int> coeff){
    coeffs=coeff;
    pow=_pow;
    x=_x;
};
 
int Polynomial::get_pow(){
    return pow;
}
 
int Polynomial::get_arg(){
    return x;}
 
int Polynomial::poly_calc( Polynomial *polyc){
         int result;
        int a0 = polyc->get_coeff.top();
         polyc->get_coeff.pop();
         int tmp,n=0;
         double t_p;
 
         while( !polyc->get_coeff.empty()){
             tmp = polyc->get_coeff.top();
             polyc->get_coeff.pop();
 
             
             result = result + tmp*_Pow_int(polyc->get_arg,n);
          
              n++;
         }
         result= result+a0;
 
         return result;
    
}
 
 
 
int main(){
    srand(time(NULL));
    stack <int> st ;
    int pow,k;
    cout<<"Enter pow: \n";
    cin>>pow;
    
    while(pow!=0){
        k=rand()%25+10;
        st.push(k);
        pow--;
    }
 
   cout<<"Enter argument: \n";
   int arg;
   cin>>arg;
 
   Polynomial *polyc  = new Polynomial (pow,arg,st);
   int f = polyc->poly_calc(polyc);
   cout<<f<<endl;
 
   cin.get();
 
    return 0;}
Ошибки:
Ошибка 1 error C2228: выражение слева от ".top" должно представлять класс, структуру или объединение , строка 49.
int a0 = polyc->get_coeff.top();
и еще 3 похожих только те что дальше)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru