hamfact.cpp

来自「VC++串口通信设。本书详细说明讲解了在VC++环境下编写串口通信得过程。值得一」· C++ 代码 · 共 86 行

CPP
86
字号
#include <iostream>
#include <string>

using namespace std ;

class Hamburger
{
public:

   // Constructor
   Hamburger(const unsigned short usNewNumPickles) :
           usNumPickles(usNewNumPickles)
   { }

   // Public methods
   unsigned short GetNumPickles() const;

private:

   // Private member data
   unsigned short usNumPickles;
};

unsigned short Hamburger::GetNumPickles() const
{
   return usNumPickles;
}


class HamburgerFactory
{
public:

   // Constructor
   HamburgerFactory() : ulTotalNumHamburgers(0UL) { }

   // Public methods
   Hamburger* CreateInstance();

   // How many hamburgers have been made so far?
   unsigned long GetHamburgerTotal() const;

private:

   // Private attributes
   unsigned long ulTotalNumHamburgers;
};

Hamburger* HamburgerFactory::CreateInstance()
{
   ulTotalNumHamburgers++;
   return new Hamburger(4);
}

unsigned long HamburgerFactory::GetHamburgerTotal() const
{
   return ulTotalNumHamburgers;
}


void main()
{
   // Instantiate the factory
   HamburgerFactory  factHamburgers;

   // Create a new hamburger
   Hamburger* pHamburger = factHamburgers.CreateInstance();

   cout << "New hamburger has " 
        << pHamburger->GetNumPickles() 
        << " pickles.\n";

   // Destroy the hamburger
   delete(pHamburger);

   // Create and destroy a few more
   for (int loop = 0; loop < 7; loop++)
   {
       pHamburger = factHamburgers.CreateInstance();
	   delete(pHamburger);
   }

   // How many hamburgers were created in all?
   cout << factHamburgers.GetHamburgerTotal()
        << " hamburgers were created.\n";
}

⌨️ 快捷键说明

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