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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

✐<br />

✐<br />

✐<br />

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

✐<br />

Capítulo 10. Control de nombres<br />

static const float scFloat;<br />

static float table[];<br />

static char letters[];<br />

};<br />

int Values::size = 100;<br />

const float Values::scFloat = 1.1;<br />

const int Values::scInts[] = {<br />

99, 47, 33, 11, 7<br />

};<br />

const long Values::scLongs[] = {<br />

99, 47, 33, 11, 7<br />

};<br />

const float Values::scTable[] = {<br />

1.1, 2.2, 3.3, 4.4<br />

};<br />

const char Values::scLetters[] = {<br />

’a’, ’b’, ’c’, ’d’, ’e’,<br />

’f’, ’g’, ’h’, ’i’, ’j’<br />

};<br />

float Values::table[4] = {<br />

1.1, 2.2, 3.3, 4.4<br />

};<br />

char Values::letters[10] = {<br />

’a’, ’b’, ’c’, ’d’, ’e’,<br />

’f’, ’g’, ’h’, ’i’, ’j’<br />

};<br />

int main() { Values v; } ///:~<br />

Usando static const de tipos <strong>en</strong>teros puede realizar las definiciones d<strong>en</strong>tro<br />

de la clase, pero para cualquier otro tipo (incluy<strong>en</strong>do listas de <strong>en</strong>teros, incluso si estos<br />

son static const) debe realizar una única definición externa para el atributo.<br />

Estas definiciones ti<strong>en</strong><strong>en</strong> <strong>en</strong>lazado interno, por lo que pued<strong>en</strong> incluirse <strong>en</strong> ficheros de<br />

cabecera. La sintaxis para inicializar listas estáticas es la misma que para cualquier<br />

agregado, incluy<strong>en</strong>do el conteo automáticoautomatic counting.<br />

También puede crear objetos static const de tipos de clase y listas de dichos<br />

objetos. De todas formas, no puede inicializarlos utilizando la sintaxis tipo «inline»<br />

permitida para static const de tipos <strong>en</strong>teros básicos:<br />

//: C10:StaticObjectArrays.cpp<br />

// Static arrays of class objects<br />

class X {<br />

int i;<br />

public:<br />

X(int ii) : i(ii) {}<br />

};<br />

class Stat {<br />

290<br />

✐<br />

✐<br />

✐<br />

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

Saved successfully!

Ooh no, something went wrong!