Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Clases basicas c++ -1-

Estas en el tema de Clases basicas c++ -1- en el foro de C/C++ en Foros del Web. Bueno... el nivel de frikeza, autismo, y aburrimiento que llevo encima, me ha llevado a la idea de pasar las practicas que tuve que hacer ...
  #1 (permalink)  
Antiguo 24/01/2008, 07:54
Avatar de define  
Fecha de Ingreso: enero-2008
Mensajes: 100
Antigüedad: 16 años, 4 meses
Puntos: 0
Clases basicas c++ -1-

Bueno... el nivel de frikeza, autismo, y aburrimiento que llevo encima, me ha llevado a la idea de pasar las practicas que tuve que hacer para la universidad (originalmente en C) a c++, para que asi ademas, todos los que estan empezando en c++, puedan ver el uso de los metods, aqui cuelgo la primera practica. :)

Este primer ejercicio es sencillo, no hace falta que loe xplique pero, pide edades y pesos y al final si es mayor de 18 y menor de 30, dice cuantas personas ahi.

CLASS1.H
Código:
#ifndef CLASS1_HH_
#define CLASS1_HH_
#include <iostream.h>
#include <ostream>
using namespace std;

class Class1{
	private:
	std::string nombre;
	int edad;
	int personas;
	int peso;

	
	public:
	Class1(std::string nmb, int edd, int prsonas);
	Class1();
	
	void Saluda(ostream& ostr, istream& istr);
	void Asignar_Edad(int i);
	int Retornar_Edad();
	void Contar_Personas();
	int Retornar_Personas();
};
	
#endif /*CLASS1_HH_*/

CLASS1.CC

Código:
#include <iostream.h>
#include "class1.hh"
#include <ostream>
using namespace std;

Class1::Class1(std::string nmb, int edd, int prsonas){
	nombre = nmb; edad = edd; personas = prsonas;
}
Class1::Class1(){
	nombre= ""; edad = 0; personas =0;}

void Class1::Saluda(ostream& ostr, istream& istr){
	
	ostr << "Bienvenido al programa, esto es una prueba." << std::endl<<"Introduce tu nombre: "<<std::endl;
	istr >>  nombre;
	ostr << "Bienvenido " << nombre << " ¿cuantos años tienes?" <<std::endl;
	istr >> edad;
	ostr << "Vaya "<< edad << " años ya :-o"<< std::endl;
}



void Class1::Asignar_Edad(int i){
	edad = i;
}

int Class1::Retornar_Edad(){
	return edad;
}

void Class1::Contar_Personas(){
	if(edad > 18)
		personas++;
}

int Class1::Retornar_Personas(){
	return personas;
}
MAIN.CC

Código:
#include <iostream.h>
#include "class1.hh"
#include <ostream>
 
using namespace std;

int main()
{
	Class1 ab;  
	cout << ab.Retornar_Personas();
	ab.Saluda(std::cout, std::cin);
	std::cout << "De acuerdo, ahora introduce edades hasta introducir un numero negativo :): "<<std::endl;
	do{
		std::cout <<"Introduce tu edad, para ver el funcionamiento de las clases se la asignaremos a la persona que creamos anteriormente" << std::endl;
		int i;
		std::cin >> i;
		ab.Asignar_Edad(i);
		ab.Contar_Personas();
	}while(ab.Retornar_Edad() > 0);
	int j = ab.Retornar_Personas();
	std::cout<<"El numero de personas enter 18 y 30 años es de " << j << std::endl;
	
	
	
}

para todo aquel que no lo sepa, es TOTALMENTE desaconsejable poner cin y cout en los metodos, y para mostrar como poder hacerlo, he creado el metodo saludo, para que se peuda ver como se debe hacer este tipo de cosas en los metodos de las clases :).
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:56.