P
proahead
Разбираясь в работе программы из книги Джесса Либерти «С++ за 21 день» у меня возник вопрос, с которым я хочу обратится к вам потому что, не могу понять один момент…
Вопрос касается следующего момента.
Мы передаем адрес объекта Frisky [размещенного в стеке, а значит к его членам мы можем обращаться с помощью оператора доступа «.», т.е. Frisky.GetAge()] в функцию FunctionTwo, где для обращение к его членам мы уже используем оператор косвенного обращения «->» [Frisky->GetAge()], как если бы, объект был в области динамического объекта
Кто знает объясните пожалуйста
C++:
#include <cstdlib>
#include <iostream>
using namespace std;
class SimpleCat
{
public:
SimpleCat();
SimpleCat(SimpleCat &);
~SimpleCat();
int GetAge() const { return itsAge; }
void SetAge(int age) { itsAge=age; }
private:
int itsAge;
};
SimpleCat :: SimpleCat()
{
cout<<"Simple Cat constructor \n";
itsAge=1;
}
SimpleCat :: SimpleCat( SimpleCat & )
{
cout<<"SimpleCat Copy Constructor \n";
}
SimpleCat :: ~SimpleCat()
{
cout<<"SimpleCat destructor \n";
}
const SimpleCat * const FunctionTwo(const SimpleCat * const theCat);
int main()
{
cout<<"Making a cat \n";
SimpleCat Frisky;
cout<<"Frisky is ";
cout<<Frisky.GetAge();
cout<<" years old\n";
int age=5;
Frisky.SetAge(age);
cout<<"Frisky is ";
cout<<Frisky.GetAge();
cout<<" years old\n";
cout<<"Calling Function Two\n";
FunctionTwo(&Frisky);
cout<<"Frisky is ";
cout<<Frisky.GetAge();
cout<<" years old\n";
system("PAUSE");
return EXIT_SUCCESS;
}
const SimpleCat * const FunctionTwo(const SimpleCat * const theCat)
{
cout<<"FunctionTwo Returning \n";
cout<<"Frisky is now "<<theCat->GetAge()<<" ";
cout<<" years old\n";
// theCat->SetAge(8);
return theCat;
}
Вопрос касается следующего момента.
Мы передаем адрес объекта Frisky [размещенного в стеке, а значит к его членам мы можем обращаться с помощью оператора доступа «.», т.е. Frisky.GetAge()] в функцию FunctionTwo, где для обращение к его членам мы уже используем оператор косвенного обращения «->» [Frisky->GetAge()], как если бы, объект был в области динамического объекта
Кто знает объясните пожалуйста