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

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

Войти
Регистрация
Восстановить пароль
 
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
#1

Как такое может быть? (вызов функции-члена без объекта) - C++

12.03.2013, 23:39. Просмотров 371. Ответов 3
Метки нет (Все метки)

собственно вопрос озвучен.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
class Test
{
  public:
    void print()
    {   
      cout << "This is hack!" << endl;
    }   
};
 
 
int main()
{
  Test *ptr = (Test *) 4;
  ptr->print();
 
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2013, 23:39     Как такое может быть? (вызов функции-члена без объекта)
Посмотрите здесь:

Как такое может быть? - C++
Пишу программку... Начало функции мейн. Не прошло еще ничего кроме файла: int k=1; int l=1; На что компилятор мне выдает, что...

Как такое может быть? - C++
#include &lt;iostream&gt; #include &lt;vector&gt; int main() { const int SIZE = 20; std::vector&lt;int&gt; var(SIZE); int ...

Может ли быть такое? - C++
поставил счетчик для сравнений в пирамидальной сортировке массива выдает 34732 сравнения. Добавлено через 1 час 3 минуты up!

скажите что такое может быть? - C++
у меня Dev-C++ работает всё нормально,но когда компилирую любую программу выходит чёрный экран а на нём данные написаны но кракозяброй...

рекурсивный вызов функции-члена - C++
как осуществить рекурсивный вызов функции члена?

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

вызов функции члена через std::function - C++
Суть в следующем Задача сделать обертку вызывающую функцию член класса с параметрами. Для этого используется класс: ...

Вызов функции-члена класса по адресу в памяти - C++
Всем хорошего дня :) Допустим, что где-то есть static функция, не принимающая аргументов и ничего не возвращающая. Имея один лишь...

Перегруженный оператор сдвига '<<' не функции-члена класса для объекта ostream - C++
Добрый день. В учебнике попалось на первый взгляд простое задание: #include &lt;iostream&gt; int main() { std::cout &lt;&lt; &quot;Hello,...

Вызов глобальной функции из объекта класса - C++
Здравствуйте! Допустим, к примеру, имеется класс, который может хранить в себе адрес на функцию, а также метод который &quot;запустит&quot; эту...

Простое Наследование и ошибка "Недопустимый вызов нестатической функции-члена" - C++
У меня есть два класса M и К (наследуется от М). В классе М есть три переменные a,b,c. В классе К есть два a1,b1. В классе К есть метод k1,...

Вызов функции с не заданными параметрами из объекта класса - C++
Пишу небольшое API, для себя. Сделал следующие: программист указывает объекту класса, имя пакета и какая должна будет вызваться функция,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ITcrusader
Эксперт C++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
12.03.2013, 23:43     Как такое может быть? (вызов функции-члена без объекта) #2
Нельзя так делать
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
12.03.2013, 23:50     Как такое может быть? (вызов функции-члена без объекта) #3
Потому что на самом деле
C++
1
2
3
4
5
6
7
int main()
{
  Test *ptr = (Test *) 4;
  ptr->print();
 
  return 0;
}
понимается компилятором примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
  Test *ptr = (Test *) 4;
  Test_print(ptr);
 
  return 0;
}
 
void Test_print(Test *this)
{
    std::cout << "This is hack!" << std::endl;
}
this не используется в методе, поэтому-то и всё хорошо.
ITcrusader
Эксперт C++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
12.03.2013, 23:51     Как такое может быть? (вызов функции-члена без объекта) #4
упростим твой код:

C++
1
2
Test *ptr = 0;
  ptr->print();
объект в памяти не нужен для косвенного вызова функций)
Yandex
Объявления
12.03.2013, 23:51     Как такое может быть? (вызов функции-члена без объекта)
Ответ Создать тему
Опции темы

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