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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ c++ делегирование ( c++ delegate pattern) http://www.cyberforum.ru/cpp-beginners/thread952475.html
развеем туман над таким паттерном как делегирование итак сначала отправимся на WIKI и просмотрим что нам предлается в качестве примера #include <iostream> class I { public: virtual void f() = 0; virtual void g() = 0;
C++ Консольная графика Наверное будет звучать грубо, но как мне нарисовать в консоли квадратик, выбрав его цвет и размер? http://www.cyberforum.ru/cpp-beginners/thread952466.html
Ребята напомните как изменить объект если он const ) C++
Добрый день, как изменить объект если он создан с фишкой const помнил, но не использовал эти знания и они потерялись в памяти)
Создание неконсольного приложения C++
Как создать неконсольное приложение? Если выбрать в visual studio приложение win32 и написать даже самую простую фразу "Hello World!" на экран она у меня не выводится, причем компилируется без ошибок. На экран получаю пустое белое окно с вкладкой "File" в которой лежит "Exit"
C++ Динамические массивы и не только http://www.cyberforum.ru/cpp-beginners/thread952450.html
Помогите решить задачу такого плана Создать класс Матрица Члены класса: Размерность массива, элементы матрицы Методы:Конструктор, деструктор, метод вывода матрицы, проверка является ли матрица диагональной, нулевой, единичной. Операторы перегрузки: Сложение (+),вычитание (-), умножение 2-х матриц, умножение матрицы на число. D=3BA+(B-A) вот ето нужно сделать с матрицами и проверки на...
C++ Удалить в этой строке s последние k элементов Eсть строка s и число k. Как удалить в этой строке последние k элементов? //char *s; //int k; подробнее

Показать сообщение отдельно
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
11.09.2013, 17:06     Указатели на классы
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
class A
{
   int field_A;
   void method_A()
   {
      //что-то там...
   }
};
 
class B : public A
{
   public: 
      int field_B;
      void method_B()
      {
         //что-то другое...
      }
};
 
int main()
{
   A *ob1=new B;
   B *ob2=new B;
   
   ob1->field_A = 1; //допустимо, обращаемся к полю, определённому в А, объекта класса B через указатель на А
   ob1->method_A(); //допустимо, обращаемся к методу, определённому в А, объекта класса B через указатель на А
   
   ob1->field_B = 1; //недопустимо, указатель на A ничего не знает о полях, определённых в B.
   ob1->method_B(); //недопустимо, указатель на A ничего не знает о методах, определённых в B. 
 
   ob2->field_A = 1; //допустимо, указатель на B знает о полях определённых в A.
   ob2->method_B(); //допустимо, указатель на B знает о методах определённых в А
   ob2->field_B = 1; //допустимо, указатель на B знает о полях определённых в своём классе.
   ob2->method_B(); //допустимо, указатель на B знает о методах определённых в своём классе.
   
   B* ob3 = new A; //НЕДОПУСТИМО, нельзя помещать объект родителя, в указатель на потомка.
}
 
Текущее время: 13:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru