13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 209 — #247<br />

✐<br />

7.2. Ejemplo de sobrecarga<br />

El primer constructor de Stash es el mismo que antes, pero el segundo ti<strong>en</strong>e<br />

un argum<strong>en</strong>to Quantity que indica el número inicial de espacios de memoria que<br />

podrán ser asignados. En la definición, puede observar que el valor interno de quantity<br />

se pone a cero, al igual que el puntero storage. En el segundo constructor, la<br />

llamada a inflate(initQuantity) increm<strong>en</strong>ta quantity al tamaño asignado:<br />

//: C07:Stash3.cpp {O}<br />

// Function overloading<br />

#include "Stash3.h"<br />

#include "../require.h"<br />

#include <br />

#include <br />

using namespace std;<br />

const int increm<strong>en</strong>t = 100;<br />

Stash::Stash(int sz) {<br />

size = sz;<br />

quantity = 0;<br />

next = 0;<br />

storage = 0;<br />

}<br />

Stash::Stash(int sz, int initQuantity) {<br />

size = sz;<br />

quantity = 0;<br />

next = 0;<br />

storage = 0;<br />

inflate(initQuantity);<br />

}<br />

Stash::~Stash() {<br />

if(storage != 0) {<br />

cout

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!