Cita:
Iniciado por nup_ Hola:
Xonil, acabo de probar este código con g++ 4.4.3 y funciona correctamente.
Código C++:
Ver original#include <string.h>
#include <iostream>
//#include <conio.h>
#include<vector>
using namespace std;
class complejo
{
private:
double real;
double imag;
public:
complejo(double real, double imag);
complejo (): real(0),imag(0){}
void establecer(double, double);
void imprimir();
void agregar(complejo);
void agregar(double, double);
};
complejo::complejo(double real, double imag)
{
this->real=real;
this->imag=imag;
}//fin del constructor con parametros
// metodos de la clase complejo
void complejo::establecer(double r, double i)
{
real=r;
imag=i;
}//fin de establecer
void complejo::imprimir()
{
cout << "el numero es "<< real << " + " << imag << "i" << endl;
}//fin de imprimir
void complejo::agregar(complejo a)
{
real=real+a.real;
imag=imag+a.imag;
}//fin de agregar
void complejo::agregar(double a, double b)
{
real= real + a;
imag= imag + b;
}
int main(int argc, char* argv[])
{
complejo c1,c2,c3;
vector<complejo>miComplejo;
vector<complejo>::iterator it;
c2.establecer(2,1);
c1.establecer(3,3);
c3.establecer(4,6);
c1.imprimir();
c2.imprimir();
c3.imprimir();
miComplejo.push_back(c1);
miComplejo.push_back(c2);
miComplejo.push_back(c3);
cout << miComplejo.size();
for (it=miComplejo.begin();it!=miComplejo.end();it++)
{
it->imprimir();
}
return 0;
}//fin del main
La salida q dá es esta:
nupser@homepc:/tmp$ g++ a.cpp
nupser@homepc:/tmp$ ./a.out
el numero es 3 + 3i
el numero es 2 + 1i
el numero es 4 + 6i
3el numero es 3 + 3i
el numero es 2 + 1i
el numero es 4 + 6i
si te fijas no es solamente cambiar
por
sino cambiar TODA LA LÍNEA:
por
;
eso es porque imprimir() es un método void, es decir no devuelve nada, cout está esperando un parámetro y le estás pasando un método q no retorna nada. Por eso es el error.
saludos;
Nup_
gracias Nup_ sabia donde postear :)
efectivamente, no tenia sentido lo que yo ponia, un cout que recibia otro cout, o un cout que recibia un void, osea nada o vacio.
ahora ya puedo seguir progresando con la biblioteca estandar.