Article View: be.comp.programming
Article #10228Re: Vraagje over klassen (class) (C++)
From: Christof Laeremans
Date: Mon, 18 Mar 2002 20:45
Date: Mon, 18 Mar 2002 20:45
131 lines
4792 bytes
4792 bytes
dus dit staat in mijn class (een string teruggeven aan het de main)
const int lengte = 10;
class mijnclass
{
void getString(char * string)
{
strncpy(_string,string,lengte); //lengte is de dimensie van je array
}
};
in mijn hoofdprogramma ziet dat er zo uit.
int main()
{
mijnclass klasse
char mijnString[lengte];
klasse.getString(mijnString); //de waarde van de string die in de
class is, wordt doorgegeven aan mijnString en die kan je dan op zijn beurt
afdrukken in je main.
cout<<"De string is: "<<mijnString;
return 0;
}
zo ziet je main er dan uit.
"DaVa" <D-man@pandora.be> wrote in message
news:GVpl8.16303$DE4.1899@afrodite.telenet-ops.be...
>
> "Christof Laeremans" <christof_laeremans@NOSPAM.hotmail.com> schreef in
> bericht news:a7439i$10dqf$1@sinclair.be.wanadoo.com...
> > Een set functie vb. setLeeftijd is om een waarde die komt van je main()
> door
> > te geven aan de class.
> > Een voorbeeld.
> >
> > Class Persoon
> > {
> > Private:
> > int _leeftijd;
> > char _naam[15];
> >
> > Public:
> > Persoon() //Dit is een constructor, voor het initialiseren van de
> > gedeclareerde variabelen.
> > {
> > _leeftijd = 0;
> > }
> >
> > //de set functie
> > void setLeeftijd(int leeftijd)
> > {
> > _leeftijd = leeftijd;
> > }
> > De waarde (hier leeftijd) komt binnen in de class via de parameter
> > leeftijd.
> >
> > //de get functie, deze zorgt ervoor dat de waarde van de class wordt
> > teruggegeven aan de main()
> > //aangezien hij een waarde moet teruggeven, moet deze functie een
> > returntype hebben.
> >
> > int getLeeftijd()
> > {
> > return _leeftijd;
> > }
> >
> > wil je nu een string teruggeven aan je hoofdprogramma, dan is het wel
> even
> > speciaal.
> > char * getNaam()
> > {
> > return _naam;
> > }
> >
> > Met het returnen van een string, moet je werken met een pointer naar de
> > getNaam functie. Nu, op deze laaste zijn er nog andere mogelijkheden.
> > Uit mijn les C++ heb ik geleerd dat je met deze methode je private
leden
> > niet genoeg afschermt voor de buitenwereld.
> > Een andere mogelijkheid zou zijn.
> >
> > char getNaam(char *naam)
> > {
> > strncpy(naam,_naam,15);
> > }
> >
> > maar als je meer info wilt dat moet je eens een kijkje gaan nemen op
> > www.bruceeckel.com en daar kan je zijn boek (Thinking in C++ 2nd
Edition)
> > downloaden.
> >
> > Met vriendelijke groeten,
> >
> > Christof Laeremans
> >
> > "DaVa" <D-man@pandora.be> wrote in message
> > news:aN8l8.14631$DE4.1677@afrodite.telenet-ops.be...
> > > Hallo allemaal,
> > >
> > > Ik heb een vraagje over de taal c++ .. meer bepaald over klassen,
> > > ik heb een klasse gemaakt (wat die doet maakt niet uit), nu is het de
> > > bedoeling dat ik gegevens teruggeef aan mijn main (via return), maar
er
> is
> > > mij altijd gezegd dat je de interne gegevens van een klasse nooit
> > > rechtstreeks mag doorgegeven aan een externe functie/main (je moet dus
> de
> > > gegevens in een klasse afschermen van de buitenwereld) .. hoe moet ik
nu
> > > juist werken met die return (is iets met get/set functies in uw
> klasse...
> > > kan iemand mij hierover meer info geven ... dank u wel)
> > >
> > > groetjes .. DaVa
> > >
> > >
> >
> >
>
> Zou je nog iets meer info kunnen geven over hoe ik nu net een string moet
> doorgeven aan de main (gebruik makend van pointers), hoe ziet de main er
dan
> uit?
>
>
Technical Details
Message-ID:
<a75jlb$195e2$1@sinclair.be.wanadoo.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!supernews.com!newsfeed.online.be!newsfeeds.belnet.be!news.belnet.be!news.be.wanadoo.com!news.wanadoo.be!not-for-mailReferences:
<aN8l8.14631$DE4.1677@afrodite.telenet-ops.be> <a7439i$10dqf$1@sinclair.be.wanadoo.com> <GVpl8.16303$DE4.1899@afrodite.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,4353de8f92b91cf9 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-03-18 12:45:35 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!supernews.com!newsfeed.online.be!newsfeeds.belnet.be!news.belnet.be!news.be.wanadoo.com!news.wanadoo.be!not-for-mail From: "Christof Laeremans" <christof_laeremans@NOSPAM.hotmail.com> Newsgroups: be.comp.programming Subject: Re: Vraagje over klassen (class) (C++) Date: Mon, 18 Mar 2002 21:45:32 +0100 Organization: Wanadoo Belgium Lines: 133 Message-ID: <a75jlb$195e2$1@sinclair.be.wanadoo.com> References: <aN8l8.14631$DE4.1677@afrodite.telenet-ops.be> <a7439i$10dqf$1@sinclair.be.wanadoo.com> <GVpl8.16303$DE4.1899@afrodite.telenet-ops.be> NNTP-Posting-Host: adsl-140-6.wanadoo.be X-Trace: sinclair.be.wanadoo.com 1016484332 1349058 213.177.140.6 (18 Mar 2002 20:45:32 GMT) X-Complaints-To: abuse@wanadoo.be NNTP-Posting-Date: Mon, 18 Mar 2002 20:45:32 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000