passobjectsbyref.cpp

来自「24学时攻克C++光盘源代码 深入浅出 方便实用」· C++ 代码 · 共 55 行

CPP
55
字号
 //Listing 12.1

 // Passing pointers to objects

 #include <iostream>

 

 class SimpleCat

 {

 public:

     SimpleCat ();                    // constructor

     SimpleCat(SimpleCat&);     // copy constructor

     ~SimpleCat();                    // destructor

 };

 

 SimpleCat::SimpleCat()

 {

     std::cout << "Simple Cat Constructor...\n";

 }

 

 SimpleCat::SimpleCat(SimpleCat&)

 {

     std::cout << "Simple Cat Copy Constructor...\n";

 }

 

 SimpleCat::~SimpleCat()

 {

     std::cout << "Simple Cat Destructor...\n";

 }

 

 SimpleCat FunctionOne (SimpleCat theCat);

 SimpleCat* FunctionTwo (SimpleCat *theCat);

 

 int main()

 {

     std::cout << "Making a cat...\n";

     SimpleCat Frisky;

     std::cout << "Calling FunctionOne...\n";

     FunctionOne(Frisky);

     std::cout << "Calling FunctionTwo...\n";

     FunctionTwo(&Frisky);

     return 0;

 }

 

 // FunctionOne, passes by value

 SimpleCat FunctionOne(SimpleCat theCat)

 {

     std::cout << "Function One. Returning...\n";

     return theCat;

 }

 

 // functionTwo, passes by reference

 SimpleCat* FunctionTwo (SimpleCat  *theCat)

 {

     std::cout << "Function Two. Returning...\n";

     return theCat;

 }

⌨️ 快捷键说明

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