Nieuws:

Ubuntu-NL weer online!

Na een periode van technische problemen en een overbelaste server zijn we eindelijk weer bereikbaar.
Samen met Hobbynet, onze sponsor en hostingpartner, hebben we een oplossing gevonden zodat alles weer soepel draait.

Bedankt voor jullie geduld en begrip. We hopen nu weer verder te gaan waar we gebleven waren.

Het team van Ubuntu-NL

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

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

Offline Joshua822

  • Lid
[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
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

  • Lid
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!

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

  • Lid
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.