Springen naar inhoud

Geeft dit een compile error?


  • Log in om te kunnen reageren

#1

Spenjoman11

    Spenjoman11


  • 0 - 25 berichten
  • 4 berichten
  • Gebruiker

Geplaatst op 23 mei 2011 - 10:51

9. Geef aan of er compiler errors zijn te verwachten bij de volgende code (voor elke regel is het regelnummer vermeld). Zoja, bij welke regels en omschrijf in eigen woorden de inhoud van de melding.

(1) Deelnemer dl1 = new Haas(“Hannie”,30);
(2) Deelnemer dl2 = new Slak(“Sjoerd”, 5);
(3) Slak slk1 = new Deelnemer(“Dunja”);
(4) Deelnemer dl3 = new Deelnemer(“Dick”);
(5) slk1 = dl1;
(6) dl1 = dl2;

(Dit is van een oefentoets)

Ik dacht dat het wel een compile error geeft op regel 6, aangezien je geen dl1 = dl2 kunt aangeven.

Wat is jullie visie?

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

jhnbk

    jhnbk


  • >5k berichten
  • 6905 berichten
  • VIP

Geplaatst op 23 mei 2011 - 11:14

Je zou op zijn minst even de programmeertaal mogen vermelden. Is dit Java, C#, ... ?

Regel 6 lijkt mij trouwens perfect mogelijk. Ik denk dat er een andere regel fout gaat ;)
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

#3

govertguitar

    govertguitar


  • 0 - 25 berichten
  • 2 berichten
  • Gebruiker

Geplaatst op 24 mei 2011 - 07:58

De fout zit in regel 3 (probeer het uit!).

Ik gok dat dit eerste jaars Java is.

Dit zal wel een overervingsrelatie zijn met Slak en Haas erven van Deelnemer.
Een haas en een Slak is een Deelnemer maar een Deelnemer hoeft geen Slak te zijn.

#4

In physics I trust

    In physics I trust


  • >5k berichten
  • 7384 berichten
  • Moderator

Geplaatst op 24 mei 2011 - 08:45

Haas en Slak zijn objecten die ook Deelnemer zijn. (Haas en Slak kunnen dus erven van Deelnemer). Dat betekent dat Haas en Slak enkele gemeenschappelijke zaken hebben, die kenmerkend zijn voor Deelnemer.

Deelnemer is dus de parent class (base class, super class) en Haas en Slak zijn subclasses. Wat je dus op regel 3 doet, is dus niet mogelijk. Bekijk het zo: het rechterlid is een Deelnemer en dus mogelijk ook een Haas (of om het even welke subclass van Deelnemer). Nu kan je geen nieuwe Slak aanmaken met de kenmerken van een Haas (of om het even welke andere subclass) ;)
"C++ : Where friends have access to your private members." — Gavin Russell Baker.

#5

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 24 mei 2011 - 08:46

Waarom probeer je dit niet gewoon in een compiler?

#6

jhnbk

    jhnbk


  • >5k berichten
  • 6905 berichten
  • VIP

Geplaatst op 24 mei 2011 - 09:16

Waarom probeer je dit niet gewoon in een compiler?

Zulke vragen zijn meestal multiple choice (op papier uiteraard) dus het klakkeloos overnemen van compiler uitvoer lijkt mij niet echt verruimend voor de student. Even nadenken of uitzoeken en het onthoudt daarna veel gemakkelijker.
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

#7

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 24 mei 2011 - 09:45

Zulke vragen zijn meestal multiple choice (op papier uiteraard) dus het klakkeloos overnemen van compiler uitvoer lijkt mij niet echt verruimend voor de student.

Dat lijkt mij ook niet. Zelf uitzoeken welk antwoord klopt door het in te voeren in een compiler en dan te bedenken waarom de compiler hier moeilijk over doet is dat echter wel. Veel meer dan deze stap overslaan en de vraag door anderen te laten beantwoorden op een forum...

Veranderd door EvilBro, 24 mei 2011 - 09:46






0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures