Toon posts:

[C++] gegevens verwerken in een Class

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik zit al een heletijd te knoeien met het aanmaken van classen.
In het boek dat ik heb, vind ik dat het niet duidelijk wordt uitgelegd.
Ik heb ook nog op google gezocht, maar dan kom ik op hele ingewikkelde stukken code uit.

Graag zou ik van jullie willen horen wat ik eingelijk verkeerd doe in het volgende stukje:


#include <vcl\vcl.h>
#pragma hdrstop
#include "aanmaken.h"
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
// class word aangemaakt.
class aanmaken {
aanmaken();
public:

char cnaam;

};

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{

// hier wil ik dan gegevens uit een textbox
// kopieren naar de declaratie in de class
aanmaken::aanmaken()
{
cnaam = txtCnaam->Text;
};

}
//---------------------------------------------------------------------------

Ik krijg de volgende foutmeldingen:
[C++ Error] aanamken.ccp(28): Qualifier ‘aanmaken’ is not a class or namespace name.
[C++ Error] aanamken.ccp(28): Statement missing ;

Zouden je dan ook kunnen vertellen hoe ik dan bijvoorbeeld gegevens vanuit de class kan kopieeren naar een textbox?

Alvast Bedankt.

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:25
Je moet die implementatie van je constructor dan ook niet in de click event-handler van je button steken.
Je constructor moet ook public zijn, en niet private
Zo moet het zijn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class aanmaken
{

  private:
     AnsiString naam;
  public:
     aanmaken( AnsiString n);

};

aanmaken::aanmaken( AnsiString n )
{
    naam = n;
}

void __fastcall TForm1::Button2Click( TObject* Sender )
{

   aanmaken a = new aanmaken(txtcNaam->Text);

}


Dat met die AnsiStrings ben ik nu niet zo zeker, maar you shoud catch the drift
Echter, ik denk dat het nodig is dat je eerst eens wat basics van C++ en OO programmeren gaat gaan doornemen, vooraleer je je ook met Windows apps gaat gaan bezighouden.

[ Voor 22% gewijzigd door whoami op 24-04-2004 14:57 ]

https://fgheysels.github.io/


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 25-05 20:56
Kijk bovendien de Postregels en QuickStart eens door; code hoort tussen [code]-tags. Aanhef/afsluiting zijn overbodig.

Inhoudelijk: een klasse genaamd 'aanmaken' doet vermoeden dat je ontwerp al verkeerd is. Klassen en objecten zijn representaties van (soorten) 'dingen' in de echte wereld. Een werkwoord als 'aanmaken' suggeeert een actie, die je zou kunnen modelleren als een functie of een methode van een klasse.

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:25
Soultaker schreef op 24 april 2004 @ 15:44:
Kijk bovendien de Postregels en QuickStart eens door; code hoort tussen [code]-tags. Aanhef/afsluiting zijn overbodig.

Inhoudelijk: een klasse genaamd 'aanmaken' doet vermoeden dat je ontwerp al verkeerd is. Klassen en objecten zijn representaties van (soorten) 'dingen' in de echte wereld. Een werkwoord als 'aanmaken' suggeeert een actie, die je zou kunnen modelleren als een functie of een methode van een klasse.
I can only agree with that. ;)

https://fgheysels.github.io/


Verwijderd

Topicstarter
Bedankt voor de tips.

Ik zal gelijk die postregels en die quickstart doonemen.
(Eerste keer dat ik hier op tweakers een topic plaats ;) )