Article View: be.comp.programming
Article #10311Re: Vraagje over klassen (class) (C++)
From: Bert Peers
Date: Fri, 22 Mar 2002 13:51
Date: Fri, 22 Mar 2002 13:51
88 lines
3372 bytes
3372 bytes
Agaricus wrote:
> een kort voorbeeldje :
>
> #include <iostream.h>
> #include <conio.h>
> ////////////////////////////////class/////////////////////////////////////
> class kat
> {
> private:
> // ik weet niet of je een stringclass ter beschikking hebt of
> // niet anders moet je maar met een char tabel of zo werken.
Er is praktisch geen enkele reden meer om nog met char*'s
te werken. De overgrote meerderheid van de gevallen betreft
het string manipulatie, en daarvoor gebruik je best de
standaard string :
#include <string>
std::string s;
// of :
using std;
string s;
De uitzonderingen kan je dan nog meestal best doen met
std::vector<char>.
Dan nog wat puntjes op de i :
Je gebruikt beter #include <iostream> ipv <iostream.h>.
> public:
> kat (String&) ; //constructor
Je wil de input waarschijnlijk niet veranderen, dus
kat (const string&);
Zie ook verder.
> kat::kat(String& naam_in)
> {
> naam = naam_in;
> }
Het is een klein tandje efficienter om member
initialisatie te gebruiken in de definitie :
kat::kat (const string &naam_in)
: naam (naam_in)
{}
> String& getnaam (void) ; // geeft de naam terug
Idem, je wil wellicht dit niet toelaten :
MijnKat.getnaam () = s;
dus beter
const string& getnaam () const; // Noot : 'void' weg
> } [;]
> void main (void)
main moet eigenlijk int returnen.
> {
> kat mijn_kat("garfield") [;]
Dit werkt sowieso niet als je constructor
geen const reference neemt -- je kan geen
tijdelijk object (nl de conversie van
"garfield"-de-const-char-* naar "garfield"-
de-std-string) doorgeven als niet-const
reference.
> Ik denk dat er geen fouten in staan ik heb het wel niet door een
> compiler gehaald om te controleren.
Misschien beter toch doen =)
Het is hier wel comp.lang.c++ niet maar de OP
leek me al genoeg problemen te hebben zonder
korrelige listings :]
Bert
Technical Details
Message-ID:
<3C9B3818.8010102@materialise.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news1.google.com!sn-xit-02!supernews.com!62.24.128.9.MISMATCH!news-1.opaltelecom.net!newsfeed.icl.net!newsfeeds.belnet.be!news.belnet.be!news2.kpn.net!news.kpn.net!nslave.kpnqwest.net!nloc.kpnqwest.net!nmaster.kpnqwest.net!nreader3.kpnqwest.net.POSTED!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> <96hc9u0muvtunhi7rpbktcl03gqt5ibfv4@4ax.com>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-22 05:51:35 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news1.google.com!sn-xit-02!supernews.com!62.24.128.9.MISMATCH!news-1.opaltelecom.net!newsfeed.icl.net!newsfeeds.belnet.be!news.belnet.be!news2.kpn.net!news.kpn.net!nslave.kpnqwest.net!nloc.kpnqwest.net!nmaster.kpnqwest.net!nreader3.kpnqwest.net.POSTED!not-for-mail Message-ID: <3C9B3818.8010102@materialise.be> From: Bert Peers <bert.peers@materialise.be> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.9) Gecko/20020311 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: be.comp.programming Subject: Re: Vraagje over klassen (class) (C++) References: <aN8l8.14631$DE4.1677@afrodite.telenet-ops.be> <a7439i$10dqf$1@sinclair.be.wanadoo.com> <GVpl8.16303$DE4.1899@afrodite.telenet-ops.be> <96hc9u0muvtunhi7rpbktcl03gqt5ibfv4@4ax.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Lines: 89 Date: Fri, 22 Mar 2002 13:51:30 GMT NNTP-Posting-Host: 193.74.100.13 X-Complaints-To: abuse@Belgium.EU.net X-Trace: nreader3.kpnqwest.net 1016805090 193.74.100.13 (Fri, 22 Mar 2002 14:51:30 MET) NNTP-Posting-Date: Fri, 22 Mar 2002 14:51:30 MET Organization: KPNQwest customer news service