Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
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 />
✐