Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [C++] Classes : probleem met constructor  (gelezen 1290 keer)

Offline Joshua822

  • Documentatieteam
  • Steunpunt: Nee
[C++] Classes : probleem met constructor
« Gepost op: 2009/11/11, 17:22:18 »
Hallo allemaal.

Ik ben net begonnen met classes in C++. Nu probeer ik een constructor te maken.

Hier is mijn stukje code :
#include <iostream>

class C_rectangle
{
    short x, y;
  public:
    C_rectangle ( short a, short b );
    int area () { return ( x * y ); }
}

C_rectangle::C_rectangle ( short a, short b )
{
  x = a; y = b;
}

int main ()
{
  C_rectangle rect_a ( 15, 3 );
  std::cout << "Area: " << rect_a.area () << std::endl;
  std::getchar ();
  return 0;
}

Het probleem is echter dat G++ de volgende foutmeldingen, waar ik niet veel van snap, geeft :
C:\Users\Joshua\Desktop\test_classes.cpp:12: error: new types may not be defined
 in a return type
C:\Users\Joshua\Desktop\test_classes.cpp:12: note: (perhaps a semicolon is missi
ng after the definition of `C_rectangle')
C:\Users\Joshua\Desktop\test_classes.cpp:12: error: return type specification fo
r constructor invalid

Wat doe ik mis ? Ik begrijp ook niet waarom er een probleem is op regel 12, dat is namelijk de eerste accolade bij de definitie van de constructor.

Alvast bedankt.



Offline muksie

  • Lid
  • Steunpunt: Nee
Re: [C++] Classes : probleem met constructor
« Reactie #1 Gepost op: 2009/11/11, 20:11:00 »
Bij de klasse moet nog een ; na de }. Je code wordt dus:
Code: (C++) [Selecteer]
#include <iostream>

class C_rectangle
{
    short x, y;
  public:
    C_rectangle ( short a, short b );
    int area () { return ( x * y ); }
}; // Deze was je vergeten

C_rectangle::C_rectangle ( short a, short b )
{
  x = a; y = b;
}

int main ()
{
  C_rectangle rect_a ( 15, 3 );
  std::cout << "Area: " << rect_a.area () << std::endl;
  std::getchar ();
  return 0;
}
Zo werkt het bij mij prima.

Offline Joshua822

  • Documentatieteam
  • Steunpunt: Nee
Re: [C++] Classes : probleem met constructor
« Reactie #2 Gepost op: 2009/11/11, 21:50:25 »
Bedankt muksie! Zo zie je maar hoe een groot verschil één tekentje kan maken!

Offline SeySayux

  • Lid
    • SeySayux.net
  • Steunpunt: Nee
Re: [C++] Classes : probleem met constructor
« Reactie #3 Gepost op: 2009/11/12, 17:07:07 »
Ik zou je *kuch* een beter OS aanraden ;)
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline Joshua822

  • Documentatieteam
  • Steunpunt: Nee
Re: [C++] Classes : probleem met constructor
« Reactie #4 Gepost op: 2009/11/12, 17:15:34 »
Citaat
Ik zou je *kuch* een beter OS aanraden Wink

Ja, ik weet het :P Ik heb alleen even geen keus, omdat de laptop waar ik nu op moet werken niet helemaal compatibel is met Ubuntu.