Articles of ereditarietà

Tabelle virtuali e layout di memoria in più eredità virtuali

Considera la seguente gerarchia: struct A { int a; A() { f(0); } A(int i) { f(i); } virtual void f(int i) { cout << i; } }; struct B1 : virtual A { int b1; B1(int i) : A(i) { f(i); } virtual void f(int i) { cout << i+10; } }; struct B2 […]

Java Inheritance: chiamata metodo superclass

Supponiamo di avere le seguenti due classi public class alpha { public alpha(){ //some logic } public void alphaMethod1(){ //some logic } } public class beta extends alpha { public beta(){ //some logic } public void alphaMethod1(){ //some logic } } public class Test extends beta { public static void main(String[] args) { beta obj […]

Eredità C ++ – base inaccessibile?

Mi sembra di non essere in grado di utilizzare una class base come parametro di funzione, ho incasinato la mia ereditarietà? Ho il seguente nel mio principale: int some_ftn(Foo *f) { /* some code */ }; Bar b; some_ftn(&b); E la class Bar eredita da Foo in questo modo: class Bar : Foo { public: […]

Perché il C ++ non consente l’amicizia ereditata?

Perché l’amicizia non è almeno facoltativamente ereditabile in C ++? Capisco che la transitività e la riflessività siano proibite per ovvi motivi (lo dico solo per evitare semplici risposte alle domande frequenti), ma la mancanza di qualcosa sulla falsariga della virtual friend class Foo; mi lascia perplesso. Qualcuno conosce lo sfondo storico di questa decisione? […]

Scala ereditarietà di case case

Ho un’applicazione basata su Squeryl. Definisco i miei modelli come classi di casi, soprattutto perché trovo conveniente avere metodi di copia. Ho due modelli strettamente correlati. I campi sono gli stessi, molte operazioni sono in comune e devono essere memorizzati nella stessa tabella DB. Ma c’è un comportamento che ha senso solo in uno dei […]

Perché abbiamo effettivamente bisogno di ereditarietà privata o protetta in C ++?

In C ++, non posso pensare a un caso in cui vorrei ereditare privato / protetto da una class base: class Base; class Derived1 : private Base; class Derived2 : protected Base; È davvero utile?

Avvio di JavaFX dal metodo di class Main che non estende l’applicazione

Sto avendo problemi ad avviare un’applicazione JavaFX da un metodo Main di una class che non estende javafx.application.Application Nella mia applicazione c’è MainApp.java che dovrebbe avviare il metodo overriden start() in MainUIController.java , che estende Applciation Quando avvio il metodo Main da MainUIController.java tutto funziona MainUIController.java . MainApp.java public class MainApp { public static void […]

Java / JAXB: Unmarshall Xml a sottoclass specifica basata su un attributo

È ansible utilizzare JAXB per unmarshall xml in una specifica class Java basata su un attributo di xml? Mi piacerebbe avere un elenco di oggetti di forma contenenti un triangolo e un quadrato, ciascuno con il proprio attributo specifico per forma. IE: abstract class Shape { int points; //…etc } class Square extends Shape { […]

Posso build un object JavaScript senza usare la nuova parola chiave?

Ecco cosa mi piacerebbe fare: function a() { // … } function b() { // Some magic, return a new object. } var c = b(); c instanceof b // -> true c instanceof a // -> true b instanceof a // -> true È ansible? Riesco a rendere b un’istanza di a semplice agganciarla […]

Problemi con l’ereditarietà di operator = in C ++

Sto avendo problemi con l’ereditarietà dell’operatore =. Perché questo codice non funziona e qual è il modo migliore per risolverlo? #include class A { public: A & operator=(const A & a) { x = ax; return *this; } bool operator==(const A & a) { return x == ax; } virtual int get() = 0; // […]