Помогите понять различия

83
09 марта 2021, 03:30

У меня есть два класса:

class Dog {
public:
   Dog(string name) {
     this->name = name;
}
   void bark() {
        cout << name << ": Woof!" << endl;
}
private:
    string name;
};

(точно такой же класс Cat, но я его не добавил, попросту не зачем)

В книге мне рекомендуют вызывать методы классов вот так:

Dog Tosha("Tosha");
Dog *pTosha = &Tosha;
pTosha->bark();

Но зачем так делать, если можно просто сделать так:

Dog Tosha("Tosha");
Tosha.bark();

Обьясните, я еще на стадии учения.

READ ALSO
Обработка ошибок lua c++

Обработка ошибок lua c++

Как можно реализовать вывод ошибки lua например: "Syntax error in scriptlua 4 line"

80
Разбить строку на несколько переменных

Разбить строку на несколько переменных

Есть строки вида 2 -580 12 -35

86
Как разбить строку по пробелам?

Как разбить строку по пробелам?

Как разбить строку на символ - '\n' вместо пробелов?

149
Boost Asio read/read_untill некорректная работа

Boost Asio read/read_untill некорректная работа

Что то я окончательно запутался, без помощи не могу разобраться: Пытаюсь прочитать ответ от сервера на get запрос, код простой:

101