Article View: pl.comp.objects
Article #15752Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
From: SasQ
Date: Fri, 16 Mar 2007 21:49
Date: Fri, 16 Mar 2007 21:49
52 lines
3102 bytes
3102 bytes
Dnia Fri, 16 Mar 2007 16:39:31 +0000, Sektor van Skijlen napisał(a): > Typ wartościowy jest typem, którego obiekt jest identyfikowany > zawsze przez wartość. Więc jeśli portfel z tą samą ilością > pieniędzy nie jest tym samym portfelem, to portfel nie jest > typem wartościowym. Hmm... ale chyba jest dobrym przykładem, że czasami chcemy go potraktować jako typ wartościowy, a czasami jako niewartościowy: if (portfel1==portfel2) //Czy mają tyle samo pieniędzy? if (portfel1 IS portfel2) //Czy to ten sam portfel, czy inny? > Nic nie zależy od żadnego kontekstu. > > Saldo jest stanem (cząstkowym) konta. Saldo jest wartością. > Konto jest obiektem. No cóż, ale C++ już taki dziwny jest, że nie ma "gołych" wartości [a przynajmniej nic mi o tym nie wiadomo], tylko wszystko jest trzymane w jakichś obiektach ;) W przypadku tego konta to akurat da się sprawy rozdzielić: if (konto1.saldo==konto2.saldo) //porównanie wartości if (konto1==konto2) //porównanie tożsamości chyba że ktoś dla wygody przeładuje sobie operator== żeby działał jako porównanie składników saldo ;) Ale już np. dla typu int z twojego przykładu: > int x = 2; > int y = 2; > > Powiedz mi teraz, czy "x jest y". sprawa nie jest taka prosta ;) bo tutaj porównując x i y w taki sposób: if (x==y) ... porównujesz wartości. Jeśli chodzi ci o tożsamość, to już trzeba by zapisać to np. tak: if (&x == &y) ... i wtedy już wiadomo, czy "x jest y" ;) Nie wiem tylko, czy dobrze rozumiem to, co próbujesz wytłumaczyć, bo już się pogubiłem w tej całej dyskusji... :/ -- SasQ
Technical Details
Message-ID:
<pan.2007.03.16.21.49.44.873488@go2.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<pl-comp-objects-faq-1-1166202604@ict.pwr.wroc.pl> <esemb6$2r3$1@kujawiak.man.lodz.pl> <1173026771.18775.7.camel@qrnik> <esfchn$t5r$1@kujawiak.man.lodz.pl> <esgboi$8i2$2@bandai.magma-net.pl> <esi2kk$skh$2@kujawiak.man.lodz.pl> <esi6uk$4mt$1@bandai.magma-net.pl> <esmu4p$ii1$2@kujawiak.man.lodz.pl> <esn1nl$7q7$1@bandai.magma-net.pl> <esv08v$o5d$1@kujawiak.man.lodz.pl> <et6pse$eab$1@bandai.magma-net.pl> <et7emm$cf1$1@kujawiak.man.lodz.pl> <etak85$krq$1@bandai.magma-net.pl> <eteh83$he8$1@kujawiak.man.lodz.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: SasQ <sasq1@go2.pl> Newsgroups: pl.comp.objects Subject: Re: pl.comp.objects FAQ (Frequently Asked Questions and more) Date: Fri, 16 Mar 2007 22:49:45 +0100 Organization: Ganz Automyjnia (i przeróbki ;) Lines: 52 Message-ID: <pan.2007.03.16.21.49.44.873488@go2.pl> References: <pl-comp-objects-faq-1-1166202604@ict.pwr.wroc.pl> <esemb6$2r3$1@kujawiak.man.lodz.pl> <1173026771.18775.7.camel@qrnik> <esfchn$t5r$1@kujawiak.man.lodz.pl> <esgboi$8i2$2@bandai.magma-net.pl> <esi2kk$skh$2@kujawiak.man.lodz.pl> <esi6uk$4mt$1@bandai.magma-net.pl> <esmu4p$ii1$2@kujawiak.man.lodz.pl> <esn1nl$7q7$1@bandai.magma-net.pl> <esv08v$o5d$1@kujawiak.man.lodz.pl> <et6pse$eab$1@bandai.magma-net.pl> <et7emm$cf1$1@kujawiak.man.lodz.pl> <etak85$krq$1@bandai.magma-net.pl> <eteh83$he8$1@kujawiak.man.lodz.pl> Reply-To: sasq1@go2.pl NNTP-Posting-Host: caz254.neoplus.adsl.tpnet.pl Mime-Version: 1.0 X-Trace: atlantis.news.tpi.pl 1174081791 21166 83.30.97.254 (16 Mar 2007 21:49:51 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Fri, 16 Mar 2007 21:49:51 +0000 (UTC) User-Agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit