list0910.cpp

来自「teach yourself C++ in 21 days 第五版」· C++ 代码 · 共 55 行

CPP
55
字号
//Listing 9.10 - Passing pointers to objects
  
#include <iostream>
  
using namespace std;
class SimpleCat
{
   public:
     SimpleCat ();              // constructor
     SimpleCat(SimpleCat&);     // copy constructor
     ~SimpleCat();              // destructor
};
  
SimpleCat::SimpleCat()
{
    cout << "Simple Cat Constructor..." << endl;
}
  
SimpleCat::SimpleCat(SimpleCat&)
{
   cout << "Simple Cat Copy Constructor..." << endl;
}
  
SimpleCat::~SimpleCat()
{
   cout << "Simple Cat Destructor..." << endl;
}
  
SimpleCat FunctionOne (SimpleCat theCat);
SimpleCat* FunctionTwo (SimpleCat *theCat);
  
int main()
{
    cout << "Making a cat..." << endl;
    SimpleCat Frisky;
    cout << "Calling FunctionOne..." << endl;
    FunctionOne(Frisky);
    cout << "Calling FunctionTwo..." << endl;
    FunctionTwo(&Frisky);
    return 0;
}
  
// FunctionOne, passes by value
SimpleCat FunctionOne(SimpleCat theCat)
{
    cout << "Function One. Returning... " << endl;
    return theCat;
}
  
// functionTwo, passes by reference
SimpleCat* FunctionTwo (SimpleCat  *theCat)
{
    cout << "Function Two. Returning... " << endl;
    return theCat;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?