I am a new C++ learner. I have a simple question. Here is the code from a book. Is it necessary to create a new pointer, "pCat"? Can I just use the "rCat" and delete it? If not, why?
class SimpleCat
{
public:
SimpleCat (int age, int weight);
~SimpleCat() {}
int GetAge() { return itsAge; }
int GetWeight() { return itsWeight; }
private:
int itsAge;
int itsWeight;
};
SimpleCat::SimpleCat(int age, int weight):
itsAge(age), itsWeight(weight) {}
SimpleCat* TheFunction();
int main()
{
SimpleCat* rCat = TheFunction();
int age = rCat->GetAge();
std::cout << "rCat is " << age << " years old!\n";
std::cout << "rCat: " << rCat << "\n";
// How do you get rid of that memory?
SimpleCat* pCat = rCat;
delete pCat;
return 0;
}
SimpleCat* TheFunction()
{
SimpleCat *pFrisky = new SimpleCat(5,9);``
std::cout << "pFrisky: " << pFrisky << "\n";
return pFrisky;
}