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

Απορία C++


sp_steve

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

Δημοσ.

ΓΕΙΑ ΣΑΣ,

 

ΘΕΛΩ ΑΠΟ ΤΟΝ ΔΗΜΙΟΥΡΓΟ ΤΗΣ ΥΠΟΚΛΑΣΗΣ ΝΑ ΠΑΡΩ ΣΤΟΙΧΕΙΑ ΚΑΙ ΝΑ ΤΑ ΧΡΗΣΙΜΟΠΟΙΗΣΩ ΣΤΗΝ ΥΠΕΡΚΛΑΣΗ...

ΕΙΝΑΙ ΕΦΙΚΤΟ ΑΥΤΟ?? ΚΑΙ ΑΝ ΝΑΙ??? ΜΕ ΠΙΟ ΤΡΟΠΟ...?

 

ΕΥΧΑΡΙΣΤΩ!

Δημοσ.

>class base
{
protected://η public
int m_i;
public:
base(int i):m_i(i){}
};
class drived : 
 base
{
public:
int GetBaseI()
{
	return this->m_i;
}

};
int _tmain(int argc, _TCHAR* argv[])
{
base *b =new base(10);
drived *d = (drived*)b;
int i =d->GetBaseI();
	return 0;
}

Ναι μπορεις να το κανεις.

Δημοσ.

ΓΕΙΑ ΣΑΣ,

 

ΘΕΛΩ ΑΠΟ ΤΟΝ ΔΗΜΙΟΥΡΓΟ ΤΗΣ ΥΠΟΚΛΑΣΗΣ ΝΑ ΠΑΡΩ ΣΤΟΙΧΕΙΑ ΚΑΙ ΝΑ ΤΑ ΧΡΗΣΙΜΟΠΟΙΗΣΩ ΣΤΗΝ ΥΠΕΡΚΛΑΣΗ...

ΕΙΝΑΙ ΕΦΙΚΤΟ ΑΥΤΟ?? ΚΑΙ ΑΝ ΝΑΙ??? ΜΕ ΠΙΟ ΤΡΟΠΟ...?

 

ΕΥΧΑΡΙΣΤΩ!

 

Δηλαδή θες από τον constructor της κλάσης παιδιού να πάρεις στοιχεία (τι στοιχεία αλήθεια; )

και να τα χρησιμοποιήσεις στην κλάση μαμά;

 

Γιατί αυτό; Τι ακριβώς θες να κάνεις;

Δημοσ.

Να προσθέσω στον κώδικα του Ευγένιου ότι η _tmain και ο τύπος _TCHAR* δεν υπάρχουν στην standard C++. Προφανώς είναι κάποια typedef's του C++ builder.

 

Η σωστή δήλωση σε standard C++ είναι:

 

>int main(int argc, char *argv[])

 

ή εάν δεν δέχεται ορίσματα:

 

>int main()

 

Ένα παράδειγμα για το πώς να κάνεις αυτό που θέλεις παρακάτω:

 

>#include <iostream>

class Base {
   private:
       int m_id;
   public:
       Base(int id) { m_id = id; }
       void print_id() { std::cout << "Id: " << m_id << std::endl; }
};

class Derived : public Base {
   private:
       int m_type;
   public:
       Derived(int id, int type) : Base(id) { m_type = type; }
};

int main() {
   Derived d(1, 2);

   d.print_id();
}

Δημοσ.

Να προσθέσω στον κώδικα του Ευγένιου ότι η _tmain και ο τύπος _TCHAR* δεν υπάρχουν στην standard C++. Προφανώς είναι κάποια typedef's του C++ builder.

 

Η σωστή δήλωση σε standard C++ είναι:

Το _TCHAR και γενικα ολα τα μπιρμπιτσολια που εχουν το perfix _t _T ειναι switches που υπαρχουν στο tchar.h, μπορει να ειναι char ή wchar_t, εξαρταται απο το αν εχεις κανει το project σε unicode ή ansi και οχι απο τον compiler. Η main δεν ειναι standar οπως πολλοι παρουσιαζουν, ειναι default entry point το οποιο μπορεις να αλλαξεις απο το linker, και στο κατω κατω δεν εξαρταται απο το linker αλλα απο το subsystem.

Δημοσ.

Η main δεν ειναι standar οπως πολλοι παρουσιαζουν, ειναι default entry point το οποιο μπορεις να αλλαξεις απο το linker, και στο κατω κατω δεν εξαρταται απο το linker αλλα απο το subsystem.

Evgenie, αναφέρεται ξεκάθαρα στο C++ standard. Ρίξε μια ματιά: (παράγραφος 3.6.1):

 

>
www-d0.fnal.gov/~dladams/cxx_standard.pdf

Δημοσ.

Αφού με ρωτάτε.. τα στοιχεία που θέλω να πάρω ειναι δύο λίστες που έχω δημιουργήσει στην υποκλάση και θέλω να τις πάρω και να φτιάξω μία ενιαία λίστα στην υπεκλάση με αυτές τις δύο λίστες και τα στοιχεία τους να τα βάλω σε τυχαία σειρά μέσα στην ενιαία...

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...