online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
// F_Tabla.cpp: ejemplo de función de plantilla para // Tabla para enteros: // C con Clase: Marzo de 2002 #include <iostream> #include "Tabla.h" using namespace std; const int nElementos = 5; void Incrementa(Tabla<int> &t); // (1) int main() { Tabla<int> TablaInt(nElementos); Tabla<char> TablaChar(nElementos); for(int i = 0; i < nElementos; i++) { TablaInt[i] = 0; TablaChar[i] = 0; } Incrementa(TablaInt); // Incrementa(TablaChar); // <-- Ilegal (2) for(int i = 0; i < nElementos; i++) cout << "TablaInt[" << i << "] = " << TablaInt[i] << endl; return 0; } void Incrementa(Tabla<int> &t) { // (3) for(int i = 0; i < t.NElementos(); i++) t[i]++; }
// Tabla.h: definición de la plantilla tabla: // C con Clase: Marzo de 2002 #ifndef T_TABLA #define T_TABLA template <class T> class Tabla { public: Tabla(int nElem); ~Tabla(); T& operator[](int indice) { return pT[indice]; } int NElementos() const { return nElementos; } private: T *pT; int nElementos; }; // Definición: template <class T> Tabla<T>::Tabla(int nElem) : nElementos(nElem) { pT = new T[nElementos]; } template <class T> Tabla<T>::~Tabla() { delete[] pT; } #endif

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue