Duda con c++

Tengo una clase muy simple en n fichero llamado Numero.cpp
# include <iostream>
using namespace std;

class Numero{
      private:
              int n_valor;
      public:
             Numero(int valor_inicial);
             void setValor(int valor);
             int  getValor();
      };

Y ahora quiero instanciar esta clase en otro fichero cpp como debo hacerlo,probe con un include con la ruta entera del ficheropero me daba error
# include <iostream>
# include <Numero.cpp>// Estan en el mismo directorio por eso lo puse asi pero tambien use la ruta absoluta y no funciono
using namespace std;

int main(){
    Numero n(5);
    cout <<n.getValor();
    cin.get();
    return 0;
}
Tendrás que hacer un fichero cabecera para tu clase y en el principal tendrás que hacer #include "Numero.h"

Creo que aquí lo explican bien: http://www.learncpp.com/cpp-tutorial/19-header-files/
amuchamu escribió:Tendrás que hacer un fichero cabecera para tu clase y en el principal tendrás que hacer #include "Numero.h"

Creo que aquí lo explican bien: http://www.learncpp.com/cpp-tutorial/19-header-files/

En el fichero de cabecera solo van los prototipos ?laa implementacion de los metodos iria en el otro fichero no?Estoy acostumbrado ajava y esto me lia un poco
zaius5 escribió:En el fichero de cabecera solo van los prototipos ?laa implementacion de los metodos iria en el otro fichero no?Estoy acostumbrado ajava y esto me lia un poco


Lo normal es que tengas un, por ejemplo numero.h con la definicion de la clase, un numero.cpp con la implementacion de la clase, sus metodos, vaya. y luego en otro sitio (puede ser el main.cpp o algun otro archivo) definas una variable del tipo "Numero" (con #include "numero.h" previamente, claro) y la uses ahi.
zaius5 escribió:
amuchamu escribió:Tendrás que hacer un fichero cabecera para tu clase y en el principal tendrás que hacer #include "Numero.h"

Creo que aquí lo explican bien: http://www.learncpp.com/cpp-tutorial/19-header-files/

En el fichero de cabecera solo van los prototipos ?laa implementacion de los metodos iria en el otro fichero no?Estoy acostumbrado ajava y esto me lia un poco



Java es básicamente igual, sólo que aquí son ficheros de cabecera y en java interfaces.
Estaba empezando a trastear con visual studio(se que no correspond con el subforo de software libre pero para no abrir un hilo nuevo...)
La cuestion es que genero uan ventana y cuando miro el codigo esta lleno de errores,y siempre con system como soy nuevo en c++ no se a que se debe a ver si alguien me lo dice ...el codigo no lo toque esgenerado por visual studio..
#pragma once

namespace proyecto2 {

   using namespace System; //Todos los System me dan errror
   using namespace System::ComponentModel;
   using namespace System::Collections;
   using namespace System::Windows::Forms;
   using namespace System::Data;
   using namespace System::Drawing;

   /// <summary>
   /// Resumen de ventana
   /// </summary>
   public ref class ventana : public System::Windows::Forms::Form
   {
   public:
      ventana(void)
      {
         InitializeComponent();
         //
         //TODO: agregar código de constructor aquí
         //
      }

   protected:
      /// <summary>
      /// Limpiar los recursos que se estén utilizando.
      /// </summary>
      ~ventana()
      {
         if (components)
         {
            delete components;
         }
      }

   private:
      /// <summary>
      /// Variable del diseñador requerida.
      /// </summary>
      System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
      /// <summary>
      /// Método necesario para admitir el Diseñador. No se puede modificar
      /// el contenido del método con el editor de código.
      /// </summary>
      void InitializeComponent(void)
      {
         this->components = gcnew System::ComponentModel::Container();
         this->Size = System::Drawing::Size(300,300);
         this->Text = L"ventana";
         this->Padding = System::Windows::Forms::Padding(0);
         this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
      }
#pragma endregion
   };
}

Resuelven preguntas de pogramación yo quiero aprender a programar jeje, aunque apenas conozco algunas funciones re básicas jeje.
6 respuestas