[C con Clase] vectores y clases

nelfi hernandez nelfi_hernandez en yahoo.com.mx
Jue Abr 30 04:39:44 CEST 2009


Gracias Steven por tus repuestas, pero hubo cierto error al copiar y pegar el codigo, la clase se llama habitantes_dn, no se como pude hacer borrado lo que le faltaba, pero en mi codigo fuente esta bien, pido disculpas por mi error, por lo demas he acatado tus sugerencias, y he implemetado un constructor por defecto, lo que intento hacer si se puede hacer es crear un vector por ejemplo:

 vector<habitantes_dn> ID_objeto1
habitantes_dn ID_objeto2

y ir metiendo datos con ;

ID_objeto1.push_back(ID_objeto2);

Lo que no se es como poder implementar esto, sin tener que delarar una estructura, dentro de la clase, espero haber sido lo suficientemente explicito.

Gracias.

PD: Lo de system("clear"); es que estoy en Linux.

#include <iostream>
#include <cstdlib>
#include <vector>

using namespace std;

// DEFINICION DE LA CLASE

class habitantes_dn {

    private:

        string              nombre;
        string              apellido;
        unsigned long       cedula;
        unsigned short int  ano_nacimiento;
        string                mes_nacimiento;
        unsigned short int  dia_nacimiento;
        unsigned short int  edad;
        string              provincia;
        string              direccion;
        string              telefono;
        float               estatura;
        float               peso_corporal;
        string              color_piel;
        string              estado_civil;
        string              religion;
        char                puede_votar;

    public:

    habitantes_dn(); // Constructor de la clase
    //~habitantes_dn(); // Destructor de la clase
     void agregar();
     void actualizar();
     void ver();

}; // Fin de la definicion de la clase habitante_dn

// Definicion del constructor de la clase

habitantes_dn::habitantes_dn(void): nombre(""), apellido(""), provincia(""),
                                    direccion(""), telefono(""),
                                    mes_nacimiento(""), color_piel(""),
                                    estado_civil(""), religion(""),    cedula(0),
                                    ano_nacimiento(0), dia_nacimiento(0),
                                    edad(0), estatura(0.0),    peso_corporal(0.0),
                                    puede_votar(' ')
                            {

                            } // Fin de la definicion del contrcutor de la clase


// DEFINICION DE LAS FUNCIONES MIEMBROS


// Definicion de la funcion miembro Agregar_habitante

void habitantes_dn::agregar(void) {

    system("clear");

    cout <<"\n\nAgrege los datos del habitante por favor..." << endl << endl;

    cout <<"Nombre                   : ";
    getline (cin, nombre);

    cout <<"\n\nApellido                 : ";
    getline (cin, apellido);

    cout <<"\n\nCedula                   : ";
    cin >> cedula;

    cout <<"\n\nAno de nacimiento        : ";
    cin >> ano_nacimiento;

    cout <<"\n\nMes de nacimiento        : ";
    cin.ignore();
    getline(cin, mes_nacimiento);

    cout <<"\n\nDia de nacimiento        : ";
    cin >> dia_nacimiento;

    cout <<"\n\nEdad                     : ";
    cin >> edad;
    cin.ignore();

    cout <<"\n\nProvincia de nacimiento  : ";
    getline(cin, provincia);

    cout <<"\n\nDireccion                : ";
    getline(cin, direccion);

    cout <<"\n\nTelefono                 : ";
    getline(cin, telefono);

    cout <<"\n\nEstatura                 : ";
    cin >> estatura;

    cout <<"\n\nPeso corporal            : ";
    cin >> peso_corporal;
    cin.ignore();

    cout <<"\n\nColor de la piel         : ";
    getline(cin, color_piel);

    cout <<"\n\nEstado Civil             : ";
    getline(cin, estado_civil);

    cout <<"\n\nReligion                 : ";
    getline(cin, religion);

    cout <<"\n\nPuede votar [S | N]      : ";
    cin >> puede_votar;


} // Fin de la definicion de la funcion miembro Agregar_habitante


// Definicion de la funcion miembro ver_habitante

void habitantes_dn::ver() {

        system("clear");

        cout <<"\n\n\t\t! Datos del ciudadano !" << endl << endl;

        cout <<"Nombre                    : " << nombre << endl << endl;

        cout <<"Apellido                  : " << apellido << endl << endl;

        cout <<"Cedula                    : " << cedula << endl << endl;

        cout <<"Ano de nacimiento         : " << ano_nacimiento << endl << endl;

        cout <<"Mes de nacimiento         : " << mes_nacimiento << endl << endl;

        cout <<"Dia de nacimiento         : " << dia_nacimiento << endl << endl;

        cout <<"Edad                      : " << edad << " Anos" << endl << endl;

        cout <<"Provincia de nacimiento   : " << provincia << endl << endl;

        cout <<"Direccion                 : " << direccion << endl << endl;

        cout <<"Telefono                  : " << telefono << endl << endl;

        cout <<"Estatura                  : " << estatura << " Pies" << endl << endl;

        cout <<"Peso corporal             : " << peso_corporal << " Libras" << endl << endl;

        cout <<"Color de la piel          : " << color_piel << endl << endl;

        cout <<"Estado Civil              : " << estado_civil << endl << endl;

        cout <<"Religion                  : " << religion << endl << endl;

        cout <<"Puede votar               : " << puede_votar << endl << endl;

    cout << "Pulse <ENTER> para continuar";
    getchar();


} // Fin de la defincion de la funcion miembro ver_habitante


// USO DE LA CLASE

void usar_clase(void) {

   habitantes_dn habitante;

   habitante.agregar();
   habitante.ver();
   // habitante.actualizar(); no he implementado esto aun


} // Fin de la definicion de usar_clase


// FUNCION PRINCIPAL

int main(void){

   usar_clase();

   return 0;

} // Fin de la funcion main



      ¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=mx
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090429/0515bb9f/attachment.html>


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