Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ c++ делегирование ( c++ delegate pattern) https://www.cyberforum.ru/ cpp-beginners/ thread952475.html
развеем туман над таким паттерном как делегирование итак сначала отправимся на WIKI и просмотрим что нам предлается в качестве примера #include <iostream> class I { public: virtual void f() = 0; virtual void g() = 0;
C++ Консольная графика
Наверное будет звучать грубо, но как мне нарисовать в консоли квадратик, выбрав его цвет и размер?
C++ Ребята напомните как изменить объект если он const ) https://www.cyberforum.ru/ cpp-beginners/ thread952465.html
Добрый день, как изменить объект если он создан с фишкой const помнил, но не использовал эти знания и они потерялись в памяти)
C++ Создание неконсольного приложения https://www.cyberforum.ru/ cpp-beginners/ thread952455.html
Как создать неконсольное приложение? Если выбрать в visual studio приложение win32 и написать даже самую простую фразу "Hello World!" на экран она у меня не выводится, причем компилируется без ошибок. На экран получаю пустое белое окно с вкладкой "File" в которой лежит "Exit"
C++ Динамические массивы и не только
Помогите решить задачу такого плана Создать класс Матрица Члены класса: Размерность массива, элементы матрицы Методы:Конструктор, деструктор, метод вывода матрицы, проверка является ли матрица диагональной, нулевой, единичной. Операторы перегрузки: Сложение (+),вычитание (-), умножение 2-х матриц, умножение матрицы на число. D=3BA+(B-A) вот ето нужно сделать с матрицами и проверки на...
C++ Удалить в этой строке s последние k элементов https://www.cyberforum.ru/ cpp-beginners/ thread952447.html
Eсть строка s и число k. Как удалить в этой строке последние k элементов? //char *s; //int k;
C++ Передача структуры в функцию https://www.cyberforum.ru/ cpp-beginners/ thread952427.html
Всем добрый день. Есть программа разбитая на файлы. как объвить, определить и вызвать функцию в которую передать значения структуры #include "stdafx.h" #include <iostream> #include <string> #include <Windows.h> #include "bib.h" using namespace std;
Сделать задержку программы на 30 секунд C++
В С++ иметься задержка? Гугл тормозит, инет модем сторублевый... Фрагмент: ... cout<<"Продолжить?"<<endl; cin>>a; //Ожидание 30 секунд, если действий нет, то вывод сообщения, к примеру: Ошибка! ...
C++ Установка библиотеки boost https://www.cyberforum.ru/ cpp-beginners/ thread952419.html
Люди подскажите, как установить буст на windows? вот нажимаю я на файл bootstrap.bat и ни чего не происходит
C++ Как считать текст до нужного символа? https://www.cyberforum.ru/ cpp-beginners/ thread952411.html
Код void Obrabotka() { ofstream out_file("out.txt"); file.open("text.txt"); char c; while(!file.eof()) { file>>c;
C++ Разбор фразы на слова
Здравствуйте! Помогите пожалуйста. Есть строка, нужно разделить ее на слова и записать эти слова в массив. P.S. Заранее спасибо!!!
C++ Неправильно идёт подсчёт в модуле математики https://www.cyberforum.ru/ cpp-beginners/ thread952393.html
Подскажите пожалуйста... В программе у меня, когда я ввожу например число 10, у меня в синусе выводится (-0.544), однако, на самом деле, должно было быть около 0.1736... А в арккосинусе вообще -1.#I0... Вот это-явно проблема... Подскажите, в чём проблема? Я ввожу сразу в double, использую функции математики с double и вывожу в double по средствам функции printf... #include...
229 / 76 / 9
Регистрация: 03.02.2013
Сообщений: 311
11.09.2013, 17:42 0

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

11.09.2013, 17:42. Показов 10784. Ответов 15
Метки (Все метки)

Ответ

rizr, соль в том, что когда нужно обработать кучу объектов, имеющих сходные свойства, но тем не менее имеющие различные поля и методы (которые нам собственно и не нужны) можно передавать их все, в виде указателей и ссылок на их родительский класс.

Например, нам нужно написать функцию, которая что-нибудь делает с полем field_A:

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
class A
{
   int field_A;
   void method_A()
   {
      //что-то там...
   }
};
 
class B : public A
{
   public: 
      int field_B;
      void method_B()
      {
         //что-то другое...
      }
};
 
bool function_1(const A* ptr)
{
    return ptr->field_A > 0; //возвращает true, когда field_a переданного объекта положительное.
}
 
int main()
{
   A *ob1=new B;
   B *ob2=new B;
   function_1(ob1);
   function_1(ob2);
}
PROFIT: Нам не пришлось создавать 2 версии функции function_1, потому что она не обращается к специфическим полям и методам класса B.

Вернуться к обсуждению:
Указатели на классы C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.09.2013, 17:42
Готовые ответы и решения:

Классы и указатели
Добрый день, у меня такой вопрос. Вот есть две идентичные записи. Client * NewClient = new Client;...

Классы и указатели
Пишет:&quot;Отсутствуют экземпляры конструктора &quot;Pet::Pet&quot;, соответствующие списку аргументов типы...

Указатели на Классы
class B { public: int x; B() { // Конструктор по умолчанию x = 4; } }; class D :...

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

15
11.09.2013, 17:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.09.2013, 17:42
Помогаю со студенческими работами здесь

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

Ссылки. Указатели. Классы
Здравствуйте. Пишу базу данных, и наткнулся на проблему с ссылкой. Код ниже, как ее исправить. int...

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

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

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

Указатели на функции, прототипы функций и классы
Если написать так: class MyClass { int f1(...); unsigned long int f2(int parameter) { ......

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru