[C con Clase] De José Enrique

José Enrique Hernández Ramírez jenrique en fa.uo.edu.cu
Jue Dic 2 16:49:30 CET 2010


Hola a todos y un cordial saludo. Mucha salud y próspero año nuevo(que se avecina)les deseo a todos los miembros de la lista.

Tengo el siguiente problema. Estoy intentando ordenar unos Driver según su número identificador, el código del programa es el que le expongo, pero me da error de enlace(linkeo, si se dice así). Quisiera de dieran sus criterios al respecto, qué es lo que está mal. Si tienen algo que mejorar del mismo por favor se lo agradecería mucho.

----------------
#define MAX_DRIVER 5000
#include<iostream>
using namespace std;

class Driver{
      
      private:
              int num_serie;
              int num_identifier;
              string manufacturer;
      public:
             Driver(){
                      num_serie = 0;
                      num_identifier = 0;
                      manufacturer ;
                      };
             Driver(int n_serie, int n_identif, string manufac = NULL){
                      num_serie = n_serie;
                      num_identifier = n_identif; 
                      manufacturer = manufac;   
                         };
             void setDriver(int n_serie, int n_identif, string manufac = NULL){
                         num_serie = n_serie;
                         num_identifier = n_identif; 
                         manufacturer = manufac;     
                           
                           };
             int getDriver(){
                         int n_serie = num_serie;
                         int n_identif = num_identifier; 
                         string manufac = manufacturer; 
                         
                         cout<<"No Serie  "<<n_serie<<"  ";
                         cout<<"Identificador  "<<n_identif<<"  ";
                         cout<<"Fabricante  "<<manufac<<"  ";
                         return n_identif;                 
                 };
             Driver(const Driver&);
             Driver operator = (Driver);
      
        };
        Driver Driver::operator = (Driver D){
               num_serie = D.num_serie;
               num_identifier = D.num_identifier;
               manufacturer = D.manufacturer;
               return *this;
               
               }
 int main(){
    
    
    Driver dvr[MAX_DRIVER];
    Driver temp;
    
    int i;
    int j;
    int serie = 0;
    int identificador = 0;
    int ndrivers;
    string manufactura;
    
    cout<<"Entre el numero de Drivers:  ";
    cin>>ndrivers;
    cout<<"\n";
    if(ndrivers <= MAX_DRIVER ){
    for (i = 0 ; i < ndrivers; i++){
        
         cin>>serie;
         cin>>identificador;
         cin>>manufactura;
         cout<<"\n";
         dvr[i].setDriver(serie,identificador,manufactura);
         
         }// FIN DEL FOR
        }//FIN DEL IF
        for (i = 0 ; i < ndrivers; i++){
        
        cout<<"\n";
        cout<<dvr[i].getDriver();
         
        }
      // ORDENAMIENTO
      
      for (i = 0; i < ndrivers - 1; i++)
       for(j = i + 1 ; j < ndrivers ; j++)
        if (dvr[i].getDriver() > dvr[j].getDriver()) {
         temp = dvr[i];
         dvr[i] = dvr[j];
         dvr[j] = temp;
         }
        getchar();
        getchar();
    return 0;
    
    }

----------------

Abrazos calurosos a todos.

José Enrique Hdez Ramírez
Dpto de Física Aplicada, Facultad de Ingeniería Mecánica, 
Sede Mella, Universidad de  Oriente, Santiago de Cuba, Cuba.




Más información sobre la lista de distribución Cconclase