Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  4 1031
Case 1:
Har holdt på en stund å lære meg c++, men det som iriterer meg litt er dette med includ *.h, for som oftest står det i tutorialer at dette skal jeg ikke bry meg med....Men jeg har jo lyst å lære språket, hvorfor skal jeg da ikke bry meg med det, det må da være noe litt viktig, siden det er essesielt for at programmet skal virke...Det jeg egentlig lurer på er,

Trenger jeg vite hvordan desse *.h filene gjør det de gjør? Fordi jeg har åpnet de, og skjønnte ikke så veldig mye av det som stod der...

Case 2:
Hvis desse filene er noe jeg ikke skal bry meg med, finnest det da en "resource" hvor jeg finner de, slik at jeg slipper å lete etter de over alt når de mangler i den kompileren jeg har...evt. en pakke med alle de "vanlige"
kjøpt deg ei god c++ bok, det meste står forklart der. boka "Object-Oriented Programming in C++" er jo grei nok.
hanmannsann
Trådstarter
Ja, det var kanskje en god ide...

er det denne?

Object oriented programming with c++

(så det stod "with c++" i steden for "in c++"....som du sa...)
Sist endret av One_ar; 20. februar 2005 kl. 16:29.
Slik jeg bruker å gjøre det er at jeg lager meg f.eks en klasse i headerfila, og deretter skriver jeg klassens funksjoner i cpp fila. Jeg bruker også en headerfil til å inneholde diverse #defines jeg har tenkt å bruke igjennom hele prosjektet.

Vi ser på et eksempel, viser kun en del av fila.

Object.h

Kode

#ifndef OBJECT_H
#define OBJECT_H

class cObject 
{
public:
  cObject();
  cObject( Point3f &p, float angle ); 
  cObject( Point3f &p, float angle, Point3f &v );

  Point3f mp_p;         // Position
  Point3f mp_v;         // Velocity
  Point3f mp_axis;      // Rotation Axis
  float   mp_angle;     // Direction
  float   mp_av;        // Anglular Speed ( deg/sec )
};

#endif // OBJECT_H
Object.cpp

Kode

#include "object.h"

cObject::cObject()
{
  mp_p = Point3f( 0, 0, 0 );
  mp_v = Point3f( 0, 0, 0 );
  mp_angle = 0;
  mp_av = 0;
  mp_axis = Point3f( 0, 0, 1 );
};

cObject::cObject( Point3f &p, float angle )
{
  mp_p = p;
  mp_v = Point3f( 0, 0, 0 );
  mp_angle = angle;
  mp_axis = Point3f( 0, 0, 1 );
};

cObject::cObject( Point3f &p, float angle, Point3f &v )
{
  mp_p = p;
  mp_v = v;
  mp_angle = angle;
  mp_av = 0;
  mp_axis = Point3f( 0, 0, 1 );
};
Deretter, i hovedfila inkluderer jeg object.h og leker videre.

Kode

#include "object.h"

int main( void )
{
  ...
  cObject *myObj = new cObject( Point3f(1,1,1), 10 Point3f(0,1,1) );
}
Sist endret av m0b; 20. februar 2005 kl. 19:44.
For å svare slik jeg tolket spørsmålet: Du burde lære deg hva funksjonene/klassene/whatever som står der gjør, men akkurat hvordan de gjør det er ikke så viktig, og dette kan variere fra implementasjon til implementasjon av C++ standarden.
Dessuten står bare definisjonene av det du vil bruke i header fila, selve koden er som regel ferdig kompilert til en .lib-fil, og trenger bare å linkes til programmet ditt (ihvertfall i alle kompilatorer jeg har vært borti).