Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/28: Рейтинг темы: голосов - 28, средняя оценка - 4.82
Alejandro
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 11
#1

Указатель на объект класса

14.05.2012, 02:49. Просмотров 5072. Ответов 6
Метки нет (Все метки)

Добрый день!
Есть класс

Заполняю с помощью конструктора
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
class TStol : public TMebel  
{
protected:
    AnsiString Kol_yashikov, Kol_polok;
 
public:
    TStol(char * Imya1, char * Tsena1, char * Vysota1, char *Shirina1, char * Material1,
        char * K_yash, char *K_pol) : TMebel
        (Imya1, Tsena1, Vysota1, Shirina1, Material1) {
        Kol_yashikov = AnsiString(K_yash);
        Kol_polok = AnsiString(K_pol);
    }
Создаю объект, всё как обычно
C++ (Qt)
1
Stol Sdo(im.c_str(), ts.c_str(), vys.c_str(), shir.c_str(), mat.c_str(), kol_ya.c_str(), kol_pol.c_str());
Но нужно сделать через указатели

C++ (Qt)
1
2
TStol* S = new (TStol);
S->Kol_polok = 3;
соответственно ошибка, переменная не доступна
E2247 'TStol::Kol_polok' is not accessible

Может кто-нибудь подсказать как получить доступ к переменным?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2012, 02:49
Ответы с готовыми решениями:

Указатель на объект базового класса и адрес объекта производного класса
Пример кода: class Class1 { public: Class1(int x) { j = new int;...

Использование в качестве поля класса указатель на объект другого класса
Ошибка в названии - "указателЯ" Вот, пытаюсь освоить ООП (пока только...

Правда, что указатель класса-наследника не может указывать на объект класса-родителя?
Доброго времени суток! Пример кода ниже. Правда ли , что указатель...

Статический указатель класса на объект этого же класса
Не пойму: что в этом коде не так? #include <iostream> #include <cstdlib> ...

Недопустимый неполный тип , или как передать в функцию указатель на объект класса , или просто объект
Други мои , кодеры. Не могу я ни как передать в функцию объект класса , или что...

6
Toshkarik
1149 / 866 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
14.05.2012, 03:41 #2
C++
1
TStol* S = new TStol();
0
Avazart
Эксперт С++
7718 / 5627 / 549
Регистрация: 10.12.2010
Сообщений: 25,331
Записей в блоге: 17
14.05.2012, 03:55 #3
C++
1
2
3
TStol* S = new (im.c_str(), ts.c_str(), vys.c_str(), shir.c_str(), mat.c_str(), kol_ya.c_str(), kol_pol.c_str());
S->Kol_polok = 3;
delete S;
Либо
C++
1
2
3
Stol Sdo(im.c_str(), ts.c_str(), vys.c_str(), shir.c_str(), mat.c_str(), kol_ya.c_str(), kol_pol.c_str());
TStol* S=&Sdo;
S->Kol_polok = 3;
1
Alejandro
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 11
14.05.2012, 14:58  [ТС] #4
Второй способ работает. Надеюсь что прокатит.
Avazart, благодарю!
0
Avazart
Эксперт С++
7718 / 5627 / 549
Регистрация: 10.12.2010
Сообщений: 25,331
Записей в блоге: 17
14.05.2012, 15:06 #5
В первом пропустил словечко

C++
1
2
3
TStol* S = new TStol(im.c_str(), ts.c_str(), vys.c_str(), shir.c_str(), mat.c_str(), kol_ya.c_str(), kol_pol.c_str());
S->Kol_polok = 3;
delete S;
А вообще перегрузи конструктор
C++
1
2
3
4
5
6
TStol(TStol obj)
 {
 Kol_yashikov=obj.Kol_yashikov;
 Kol_polok=obj.Kol_polok;
 //итд другие поля
 }
И переменные в public перемести чтоб работало
C++
1
2
TStol* S = new (TStol);
S->Kol_polok = 3;
1
Alejandro
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 11
14.05.2012, 15:19  [ТС] #6
И переменные в public перемести чтоб работало

C++
1
2
TStol* S = new (TStol);
S->Kol_polok = 3;
В public нельзя, потому что есть абстрактный базовый класс, там все поля в protected

Перегрузить попробую

Первый способ, вообще то что нужно!
0
Avazart
Эксперт С++
7718 / 5627 / 549
Регистрация: 10.12.2010
Сообщений: 25,331
Записей в блоге: 17
14.05.2012, 15:23 #7
Тогда должны быть открытые методы для чтения и установки полей.
0
14.05.2012, 15:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2012, 15:23

Указатель на объект класса
Есть условие - есть класс First, который содержит объект класса Second, а в...

Двойной указатель на объект класса
Подскажите что означает следующее определение объекта класса. A **myA; ...

Указатель на объект из указателя на член класса
Что как-то сей вопрос ставит меня в тупик. class A { int i; } obj; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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