Dejo el post cerrado hasta publicar los resultados.
Saludos
Saludos
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCitarEse operator<< lo podría opner como método de la clase y que hiciese la misma tarea?
CitarComo hago para que en el operador de asignación detecte que se trata del mismo objeto y no lo borre.
MiClase& operator=(const MiClase& mib)
{
if (this == &mib)//Mismo objeto?
return *this;//salimos...
num1 = 0;//Y si no, el resto de la logica
num2 = 0;
num1 = mib.num1;
num2 = mib.num2;
return *this;
}
char *p;
char *gets(char *buffer);
Citarpara que se usa \0
template<typename TYPE>class matriz{
protected:
unsigned filas,columnas;
TYPE** datos;
public:
matriz (unsigned FILAS,unsigned COLUMNAS);
friend std::ostream &operator << (std::ostream &os,matriz<TYPE> X); // sobrecarga friend
};
std::ostream &operator << (std::ostream &os,matriz<TYPE> X);// Sobrecarga friend no-template
template<typename TYPE> class matriz;
template<typename TYPE> std::ostream &operator <<(std::ostream &os,matriz<TYPE> X);
friend std::ostream &operator << <> (std::ostream &os,matriz<TYPE> X);
template<typename TYPE> std::ostream &operator << (std::ostream &os, matriz<TYPE> X)
{
//la logica aqui
}
template<typename TYPE> class matriz; //Forward declaration de la clase
template<typename TYPE> std::ostream &operator <<(std::ostream &os,matriz<TYPE> X); // Forward declaration de la sobrecarga
//Definición de la clase
template<typename TYPE>class matriz{
protected:
unsigned filas,columnas;
TYPE** datos;
public:
matriz (unsigned FILAS,unsigned COLUMNAS);
friend std::ostream &operator << <> (std::ostream &os,matriz<TYPE> X); //Especificar versión template
};
//Definición del constructor
template<typename TYPE> matriz<TYPE>::matriz(unsigned FILAS, unsigned COLUMNAS){
filas=FILAS;
columnas=COLUMNAS;
datos=new TYPE *[filas];
for(unsigned i=0;i<filas;i++){
datos[i]=new TYPE [columnas];
for(unsigned j=0;j<columnas;j++){
datos[i][j]=0;
};
};
};
//Sobrecarga del operador
template<typename TYPE> std::ostream &operator << (std::ostream &os, matriz<TYPE> X){
for(unsigned i=0;i<X.filas;i++){
for(unsigned j=0;j<X.columnas;j++){
os<<X.datos[i][j]<<'\t';
};
os<<'\n';
};
return os;
};
int main(int argc,char* argv[]){
matriz<int> A=matriz<int>(4,4);
std::cout<<A<<std::endl;
std::system("pause");
return 0;
};
CitarIf dwFlags specifies MOVEFILE_DELAY_UNTIL_REBOOT and lpNewFileName is NULL, MoveFileEx registers the lpExistingFileName file to be deleted when the system restarts. If lpExistingFileName refers to a directory, the system removes the directory at restart only if the directory is empty.Saludos
Cita de: Sagrini en 16 Diciembre 2010, 18:44 PM
printf ("\n\n\n\n\n\n\n\n\n\n"); y listo
Citar
para borrar la pantalla sin usar líneas vacías en consola... o es que no hay manera alguna?...saludoss