Herramientas de usuario

Herramientas del sitio


highlevel:c:poo

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
highlevel:c:poo [2008/04/26 17:11]
127.0.0.1 editor externo
highlevel:c:poo [2020/05/09 09:25] (actual)
Línea 130: Línea 130:
  
  
-==== Métodos ​estáticos ​==== + 
-En nuestras clases podemos crear métodos estáticos. Para usar estos no será necesario crear un objeto de dicha clase. Para usarlos haremos: ''​NombreClase::​NombreMetodo''​. \\ Ejemplo...+ 
 + 
 +==== Métodos ​y variables estáticas ​==== 
 +En nuestras clases podemos crear métodos estáticos. Para usar estos no será necesario crear un objeto de dicha clase. Para usarlos haremos: ''​NombreClase::​NombreMetodo''​. ​\\  
 +Recuerda que las variables estáticas deberán ser inicializadas en entorno global. 
 +\\ Ejemplo...
 <code cpp> <code cpp>
- class +class Telephon ​
- +private
- public+ static ​int nCalls
- static ​void B (string hi) +public: 
-+ static ​void call () { 
- cout << hi.c_str()+ Telephon::nCalls++;
- +
- }; +
- void main () +
- +
- A::B("​hiii!"​);+
  }  }
 + static int getNCalls () {
 + return Telephon::​nCalls;​
 + }
 +};
 +int Telephon::​nCalls = 0;
 +
 +int main() {
 + Telephon::​call();​
 + Telephon::​call();​
 + cout << Telephon::​getNCalls();​
 + return 0;
 +}
 </​code>​ </​code>​
  
Línea 361: Línea 373:
 </​code>​ </​code>​
 Ten cuidado, aquí el objeto b no es un B, sino un B*, es decir, devuelve false. Ten cuidado, aquí el objeto b no es un B, sino un B*, es decir, devuelve false.
 +
 +
  
  
Línea 454: Línea 468:
 Para declarar el método anterior como amigo haríamos: Para declarar el método anterior como amigo haríamos:
 <code cpp>​friend void Incremena<>​(Plantilla<​T>​);</​code>​ <code cpp>​friend void Incremena<>​(Plantilla<​T>​);</​code>​
 +Otro ejemplo:
 +<code cpp>
 +template<​int I>
 +class A {
 +public:
 + void func () {
 + printf("​%d",​ I);
 + }
 +};
 +
 +void main () {
 + A<3> a;
 + a.func();
 + system("​pause"​);​
 +}
 +</​code>​
highlevel/c/poo.1209229886.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)