Norfolk wrote:Shinta wrote:Nu vraagde wa, eeeuhmm, de receiver bestaat uit uw objectnaam, gevolgd door uw klasse. En wat het doet is uw procedure (methode) als een onderdeel maken van uw klasse, als een nieuw soort data die verwerkingen uitvoert. Ge kunt enkel onderdelen toevoegen aan records dus het is enkel mogelijk om een receiver van een recordtype of van een pointertype te maken, das al een deel vant antwoord.
Probeer het eens uit in een programma he, alle pointers verwijderen en enkel verwijzen naar de records en laat het ons weten.
Zie eens naar mijn oplossingen van de discussiesessie voor de betekenis van het -'etje.
Die eerste vraag bedoel ik mee: Ooit zei die in les "Aftrekken is gevaarlijk voor computer en daar moet ge dus mee oppassen."
Volgens mij had dit iets te maken met die floating point (dat na 8 na komma vanalles fout zou lopen ofzoiets)
Die tweede vraag komt uit examen van eerste zit van 2003-2004.
In cursus staat dat een object een instantie van ADT is en dat deze ALTIJD dynamisch moet zijn.
Dus m.a.w. met gebruik van een pointer.
Met een gewone record zal dit volgens mij niet lukken. Als je geen pointer gebruikt zal uw record een plaats toegewezen krijgen en niet meer te veranderen zijn. En dus zal je er volgens mij geen 'methoden' aan kunnen toevoegen.
Straks in ieder geval is proberen voor zekerheid.
Ik heb alles eens nagekeken op de cursus en wat hier boven staat is voornamelijk zever (mijn antwoord he

).
Ten eerste haddek je vraag verkeerd verstaan, kdacht daget verschil vroeg tussen '-' en '*'. Aftrekken is wel gevaarlijk maar volgens mij niet meer of minder dan optellen ofzo, ge hebt altijd preciezieverlies, probeert maar eens 9.50 in ne variabele te steke en dan die variabele af te drukke me 12 cijfers achter de komma, dan krijg ge meestal 9.4995 ... .
Ten tweede, er staat letterlijk in de cursus dat de receiver OFWEL een waardeparameter van een pointer naar een record variabele moet zijn (vb : PROCEDURE (l : Init) Pipikaka;)
OFWEL een variabele parameter van een record
(vb : PROCEDURE (VAR l : InitRecord) Pipikaka;)
De eerste mogelijkheid van de waardeparameter is te verklaren doordak een object een instantie is van een klasse en een klasse de type definitie is van een POINTER naar een record. Dus uw object is een pointer naar een record en dus een adres welke niet veranderd mag/moet worden in uw procedure Pipikaka.
De tweede mogelijkheid is te verklaren door de run-time stack, hierin staat dat een variabele parameter per definitie een ADRES is, dus een pointer, en het bevat een record, dus het is tevens een pointer naar een record eigenlijk, net zoals de waardeparameter van een pointer.
Snappie ?
UPDATE : bewijs : zie hierboven