Anuncios Google

Clases en C++

Hola.

Pues resulta que tengo una curiosidad al ejecutar las clases en C++, llevo algunas semanas con C++, y he pasado cosas de lo mas básico, ahora estoy entrando un poco en las clases, tengo un ejemplo que no puedo ejecutar, supongo que falta código o la verdad no se como funcione, a continuación lo expongo, ojala me puedan ayudar a ejecutar:

código coche.hpp

using namespace std;
#include <iostream>
 
	class Coche {
 
	public:
 
Coche();
 
Coche(char *m,int cil,int cab);
 
~Coche();
 
	void arranca();
	void detiene();
	void acelera();
 
private:
 
	char *marca;
	int cilindrada;
	int caballos;
};

codigo coche.cpp

#include "Coche.hpp"
 
//implementacion de construccion
Coche::Coche() {
 
	cout << "Coche creado." << endl;
}
 
//implementacion de constructor (con SOBRECARGA)
Coche::Coche (char *m,int cil,int cab) {}
 
//implementacion de desctructor. UTIL para liberara Memoria
Coche::~Coche() {
 
	cout << "Coche destruido." << endl;
}
 
//implementacion de metodos...
 
	void Coche::arranca() {}
	void Coche::detiene() {}
	void Coche::acelera() {}

el código venia prácticamente así en un manual, yo lo he reescrito, pero no se que agregar para que funcione. espero me puedan ayudar.


 


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de kiketoreador

main.cpp

Buenas normalmente los compiladores necesitan un archivo main.ccp el cual compilar y este debe contener el bucle principal o la ejecucion principal del programa,debes incluir en ese main la libreria de la clase coche es decir coche.h,y luego no tiene sentido en la definicion de los metodos,como arrancar,detener,etc no hay nada,no te daria problemas al compilar pero vamos que no tiene sentido ya que tener un metodo que no haga nada.

 

Saludos y espero que mi respuesta te haya servido de algo.Risa


Navesound

Imagen de P22

De momento

decirte dos cosas que he visto:

  1. Organización. Tienes el código extremadamente mal organizado.
  2. En el main.cpp no has puesto using namespace std;

¡Iníciate en Linux fácilmente! Sólo entra aquí y comprueba que distribución se adapta mejor a tí.

Mi review: iPod Touch 4G

Imagen de iRVing_Prog

ok

1. Puedes decirme cuales son las partes "extremadamente mal organizadas". Cada quien puede programar diferente a otro, y no por que este mal organizado el código sera que este mal hecho el programa(aunque en ocasiones influye) pero aquí estamos hablando de poco código es como la razón de que no estuviera comentado, por ello no influirá, así que quisiera me dijeras las partes donde estuviera mal.

2.main.cpp sin using namespace std; error mio no copiarlo aquí, pero en el archivo que tengo si lo he puesto, si no, no compilaría.

salu2


 

Imagen de P22

Según lo que leo en el punto 2

Compila? Si es así, que es lo que no te funciona.

Repecto al uno, ahora no lo veo tan mal organizado xD perdona porlo de antes, estaría algo empanado. Sólo que en el archivo de la clase el using namespace std lo pondría despues de la inclusión de librerías.

Intentando compilar con code::blocks me saltan un montón de errores, pero no se lo que quieren decir. Lamento no poder ayudarte más si no me das más información del error

Un saludo


¡Iníciate en Linux fácilmente! Sólo entra aquí y comprueba que distribución se adapta mejor a tí.

Mi review: iPod Touch 4G

Imagen de iRVing_Prog

el error es que el archivo de salida

no se ejecuta, lo trato de compilar de tres formas distintas y no se ejecuta:

1 g++ Coche.cpp -o Coche <<< de la manera que siempre compilaba el codigo, me salta el siguiente error: 
 
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status

2. g++ -c Coche.cpp -o Coche <<< De esta forma me dice que lo compile, yo solamente le he agregado para que salga no archivo binario con -o Coche  aquí no hay error al compilar, solo que no ejecuta el archivo(ya le di permisos)
3. g++ -c Coche.cpp <<< De esta manera me genera un archivo objeto .o el cual tampoco se ejecuta. Salu2

 


 

Imagen de P22

Hmmm

no podría ser que se ejecute pero que como va tan rápido no lo ves?

Prueba a ponerle un getchar;

Imagen de Almamu

Necesitas la funcion main en

Necesitas la funcion main en tu archivo coches.cpp

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.