Форум программистов, компьютерный форум 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
4 / 4 / 1
Регистрация: 05.10.2013
Сообщений: 123

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

15.07.2014, 16:10. Просмотров 513. Ответов 2
Метки (Все метки)

Возможно я не правильно поставил свой вопрос но вопрос в следующем. Там где реализация метода 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 похожих только те что дальше)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru