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

чем отличается вызов объекта через "." и через "->" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разложить числа на простые множители http://www.cyberforum.ru/cpp-beginners/thread34342.html
Здравствуйте, всем. Помогите пожалуйста может кто знает. Как в C++ разложить числа на простые множители. Составить программу, которая выдаёт разложение данного числа N на простые множители. Например...
C++ При присвоении числа float появляется хвост! присваеваю переменной Float 1.44 получаю 1,44000005722046 может FloatToStr работает некоректно? class computer { public: computer(char *, int, float); String Text(void); private: ... http://www.cyberforum.ru/cpp-beginners/thread34324.html
Приближенное вычисление значения функции cos(x) Отблагодарю голосами в контакте! C++
Вычислить с точностью е = 10 ^ -4 значение функции ________________________ Представленной рядом в 28 точках, которые наиболее полно охватывают область определения данной функции. Найти точное и...
сортировка матрицы C++
Доброго времени суток. Задание: поменять в каждой строке максимальный и минимальный элементы на 0. Я думаю ошибка в функции void SortMatrix(int **X, const int K, const int L). Посмотрите, пожалуйста,...
C++ дефрагментатор на С++ http://www.cyberforum.ru/cpp-beginners/thread34314.html
Помогите! есть ли у кого-нибуть ссылочка дефрагментатора на С++ с исходниками????буду очень благодарна!! заранее спасибо;)
C++ Графика С++, столкновение шаров дана задача: на экране движутся два шара разного размера и разной скоростью. Начальны размер выбирается пользователем (из 3-х вариантов), скорость задется случайно. Шары сталкиваются и отражаются от... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18242 / 6367 / 435
Регистрация: 30.03.2009
Сообщений: 17,613
Записей в блоге: 28
16.05.2009, 18:37
Kleyo, ты создаёшь не классы, а экземпляры класса. Если ты вызваешь метод, то у тебя ничто нового не создаётся. Экземпляр класса или указатель на экземпляр - это всего лишь штука, от которой берётся класс, для того, чтобы понять, какую функцию вызывать.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class C
{
  void func (coid);
};
 
class D
{
  void func (coid);
};
 
void main (void)
{
  C c; // экземпляр класса
  C *p = new C; // указатель на экземпляр класса
 
  // Две операции делают одно и то же - вызывают метод C::func
  // Экземпляр класса или указатель класса нужны в данном случае для того, чтобы
  // понять, что вызывается метод func класса C (а не класса D).
  // Плюс неявно передаётся параметр this (последнее относится к отличию
  // между c.func() и d.func()
  c.func();
  p->func();
}
Экземпляр класса создавай где тебе удобно. Приниципально от этого ничто не меняется. Точку надо ставить тогда, когда ты имеешь переменную типа класс (т.е. экземпляр класса), стрелку надо ставить тогда, когда ты имеешь указаетль на класс (т.е. указатель на экземпляр класса). Точка и стрелка - это не более чем синтаксис языка

Цитата Сообщение от alex_x_x Посмотреть сообщение
Evg поселил сомнения насчет терминологии указателей на классы
А в чём конкретно сомнение? Я мог не так выразиться или ты мог не так понять. Если ты начинающий программист - не стесняйся задать вопрос. А то я ещё запутаю тебя своими словами
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru