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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
алексейч
2 / 2 / 0
Регистрация: 22.02.2012
Сообщений: 66
Записей в блоге: 1
#1

Указатели на Классы - C++

14.12.2012, 22:44. Просмотров 2939. Ответов 1
Метки нет (Все метки)

[CPP]class B
{
public:
int x;
B() { // Конструктор по умолчанию
x = 4; }
};
class D : public B { // Производный класс
public:
int y;
D()
{ // Конструктор по умолчанию
y = 5; }
};
void main(void) {
D d;// Конструктор класса D создает объект d
B *p; // Указатель установлен на базовый касс
p = &d;// Указатель p инициализируется адресом d
// косвенное обращение к объектам базового и производного классов
// «считываем их текущее состояние в переменные
int i = p -> x; // Базовый класс виден напрямую
int j = ( ( D* ) p )p -> y;// Прямое преобразование указателя на D
// через переменные печатаем их текущее состояние
cout << “ x_i= “ << i << endl;
cout << “ y_j= “ << j << endl;
getch();
[/CPPQT]
Подскажите как правильно записать строчку
C++ (Qt)
1
int j = ( ( D* ) p )p -> y;// Прямое преобразование указателя на D
поидее дожно быть както так но у мя получаеца указатель на B масив вместо D(((
[CPP] int j =*((D* )p )*p -> y;[/CPPQT]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2012, 22:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатели на Классы (C++):

Классы и указатели - C++
Пишет:&quot;Отсутствуют экземпляры конструктора &quot;Pet::Pet&quot;, соответствующие списку аргументов типы аргументов:(char*)&quot;. #include...

Указатели на классы - C++
class A {}; class B : public A {}; int main() { A *ob1=new B; B *ob2=new B;

Классы, указатели и функции? - C++
Помогите пожалуйста разобраться в программе. Нужно из конструктора класса передать адреса в другую функцию ,разадресовывать и поставить...

Указатели на производные классы - C++
Подскажите, как создать массив типа &quot;указатель на базовый класс&quot;, который будет содержать указатель указатели на производные...

Ссылки. Указатели. Классы - C++
Здравствуйте. Пишу базу данных, и наткнулся на проблему с ссылкой. Код ниже, как ее исправить. int Base::CmpGrN(const Base a, const Base...

Перечисление,указатели, классы - C++
Здравствуйте, можете скинуть или написать простые задачи на тему &quot;Перечисление,указатели, классы&quot;

1
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
14.12.2012, 22:49 #2
C++
1
2
3
4
5
6
7
8
по шагам:
сперва базовый нужно преобразовать в производный и потом у производного обратиться к y
D* d = (D*)p; // лучше конечно же static_cast<D*>(p);
int j = d->y;
 
или правильно расставить скобочки
int j = ((D*)p)->y;
int j = static_cast<D*>(p)->y;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2012, 22:49
Привет! Вот еще темы с ответами:

Задача на классы и статические указатели - C++
Условие задачи: в любой момент времени можно получить последнего из могикан (объект класса), без использования отдельного экземпляра. Нужно...

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

Как можно решить? (классы, указатели) - C++
Имеется два класса: Support class Support { public: World* world; Pacman* pacman; ............. Support(World*...

Написать код используя массивы, указатели, виртуальные функции, наследование, классы и т.д - C++
Короче нужно сделать код, программу которая будет использовать массивы, указатели, виртуальные функции, наследование, классы, конструкторы,...


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

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

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