hour12_3a.cpp

来自「《24学时精通c++》的随书源码的下半部分。欢迎下载学习。」· C++ 代码 · 共 59 行

CPP
59
字号
 //Listing 12.1

 // Passing pointers to objects
 // passobjectsbyref.cpp

 #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 << "address of Frisky " << &Frisky << "\n";

     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 << "address of Frisky in Function One " << &theCat << "\n";
     std::cout << "Function One. Returning...\n";

     return theCat;

 }

 

 // functionTwo, passes by reference

 SimpleCat* FunctionTwo (SimpleCat  *theCat)

 {

     std::cout << "address of Frisky in Function Two" << theCat << "\n";
     std::cout << "Function Two. Returning...\n";

     return theCat;

 }

⌨️ 快捷键说明

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