?? hamfact.cpp
字號:
#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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -