Jak rzutować / konwertować wskaźnik na referencję w C++

Jak mogę przekazać wskaźnik (Object *ob) do funkcji, której prototypem jest void foo(Object &) ?

Author: Ali Soltani, 2012-04-16

3 answers

Nazwij to tak:

foo(*ob);

Zauważ, że nie ma tutaj castingu, jak sugerowano w tytule pytania. Wszystko, co zrobiliśmy, to zdeponowanie wskaźnika do obiektu, który następnie przekazujemy do funkcji.

 157
Author: David Heffernan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-16 10:53:15
foo(*ob);

 34
Author: Roee Gavirel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-16 12:05:03

Pełny przykład rzucania wskaźnika do obiektu

Demo Online

class myClass
{
  public:
  void sayHello ()
  {
    cout << "Hello";
  }
};

int main ()
{
  myClass* myPointer;
  myClass myObject = myClass(* myPointer); // Cast pointer to object
  myObject.sayHello();

  return 0;
}
 -1
Author: Ali Soltani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-07 12:12:58