#include <iostream>
using namespace std;
class A
{
public:
A() { cout << "Constructor \n"; }//Конструктор
void foo() { cout << " s =" <<s<< '\n'; };//Метод выводит значение s
~A() { cout << "Destructor\n"; }//Деструктор
int s{33};
};
A bar() { return A(); };//Функция принимает аргумент (класс) и возвращает класс
int main()
{
A a;//тут все понятно создаем объект класса
bar().foo();//А что тут? Функция принимает объект , возвращает создавая новый временный
// объект, и мы обращаемся к этому объекту через имя функции??!!
cout << "\n------------------------\n";
a.foo();
}