Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα. Θα ήθελα να κάνω μια απλή ερώτηση σχετικά με ένα project που έχω στην C++.
 

Εστω το παρακάτω κομμάτι κώδικα :

 

class A
{
private:
int a,b,c,d;
string type;
}


class B extends A
 {
    type = "Typos";
    a = 1;
    b = 9;
 }

Υπάρχει τρόπος η κλάση Α να δεχτεί τις τιμές των μεταβλητών a,b και type από την B αν η B ειναι υποκλάση της A?

 

Για παράδειγμα, να δεχτεί η Α τις τιμές των μεταβλητών α,b,type και να αρχίσουν μερικές if στην A ανάλογα με τις τιμές που έρχονται απο την B.

Δημοσ.

αν έχεις constructor και καλέσεις τον constructor της superclass θα σου δουλέψει αυτό που θες

δες ένα example

class SuperClass
{
    public:

        SuperClass(int foo)
        {
            // do something with foo
        }
};

class SubClass : public SuperClass
{
    public:

        SubClass(int foo, int bar)
        : SuperClass(foo)    // Call the superclass constructor in the subclass' initialization list.
        {
            // do something with bar
        }
};
Δημοσ.

Οποτε εγω με βάση αυτο που εγραψες, μπορω να έχω τις τιμες των bar και foo στην υπερκλάση ή μονο της foo?

Δημοσ.

μόνο της foo. αν είναι να τα έχεις και τα 2 γιατί να φτιάξεις την 2η κλάση αφού δεν θα διαφέρει από την υπερκλάση;

Δημοσ.

τα protected fields, methods (και public) μπορείς να τα δεις από την υποκλάση. τα πεδία της υποκλάσης δεν μπορείς να τα δεις από την υπερκλάση

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...