Informatica
Date le dichiarazioni:
class Dato {
public:
int a ;
double b;
Dato(): a(3), b(5.0) {}
};
il seguente programma produce in output
int main() {
Dato dato;
cout << dato.a << ", ";
cout << dato.b << endl;
return 0;
}
3.0, 5.0
3, 5
8.0
3 5
Il punteggio di un esercizio è determinato
dalla difficoltà: da 1 (più facile) a 5 (più
difficile). Vuoi saperne di più? Consulta il
Centro assistenza
Informatica
Una funzione non appartenente a una classe può accedere ai membri privati della classe
in nessun caso.
in caso acceda ai metodi e non agli attributi.
solo se dichiarata friend nella classe.
solo se dichiarata friend.
Il punteggio di un esercizio è determinato
dalla difficoltà: da 1 (più facile) a 5 (più
difficile). Vuoi saperne di più? Consulta il
Centro assistenza
Informatica
Il costruttore è
un metodo eseguito quando si crea un’istanza.
un metodo eseguito quando si crea una classe.
un metodo eseguito quando si crea un metodo.
un metodo eseguito quando si crea un attributo.
Il punteggio di un esercizio è determinato
dalla difficoltà: da 1 (più facile) a 5 (più
difficile). Vuoi saperne di più? Consulta il
Centro assistenza
Informatica
Avendo definito le classi A e B, la classe B ha accesso
class A {
int a,b;
public:
int c,d;
protected:
int e,f;
};
class B: public A {
...
};
a tutti i dati.
solo a quelli protetti.
solo a quelli pubblici.
sia ai dati protetti sia a quelli pubblici.
a tutti gli attributi della classe A.
Il punteggio di un esercizio è determinato
dalla difficoltà: da 1 (più facile) a 5 (più
difficile). Vuoi saperne di più? Consulta il
Centro assistenza
Informatica
L’overriding è
la riscrittura nella classe base di un metodo della classe derivata, cambiando le istruzioni che descrivono il comportamento.
la riscrittura di un metodo della classe base che opera su nuovi attributi aggiunti.
la riscrittura nella classe derivata di un metodo ereditato dalla classe base, cambiando le istruzioni che descrivono il comportamento e la firma.
la riscrittura nella classe derivata di un metodo ereditato dalla classe base, cambiando le istruzioni che descrivono il comportamento ma mantenendo uguale la firma.
Il punteggio di un esercizio è determinato
dalla difficoltà: da 1 (più facile) a 5 (più
difficile). Vuoi saperne di più? Consulta il
Centro assistenza
Informatica
L’overloading è
l’aumento del numero di attributi di una classe.
l’arricchimento delle capacità di un metodo.
l’impostazione dell’accesso privato ai membri di una classe.
un’impostazione assunta dal sistema se non specificata dall’utente.
Il punteggio di un esercizio è determinato
dalla difficoltà: da 1 (più facile) a 5 (più
difficile). Vuoi saperne di più? Consulta il
Centro assistenza
Informatica
Volendo creare un costruttore per la classe Lettere, la dichiarazione corretta è
class Lettere {
...
public:
Lettere() {}
...
};
class Lettere {
...
public:
constructor Lettere() {}
...
};
class Lettere {
...
public:
constructor() {}
...
};
class Lettere {
...
public:
~Lettere() {}
...
};
Il punteggio di un esercizio è determinato
dalla difficoltà: da 1 (più facile) a 5 (più
difficile). Vuoi saperne di più? Consulta il
Centro assistenza
Informatica
a. Gli elementi base della OOP si chiamano .
b. Gli definiscono le caratteristiche di un oggetto.
c. I definiscono le funzionalità dell’oggetto.
d. I costruttori delle classi devono essere definiti .
e. Gli attributi e i metodi sono definiti se nessun altro, eccetto la classe stessa, deve accedervi.
f. Gli attributi e i metodi sono definiti se sono disponibili a tutti.
Il punteggio di un esercizio è determinato
dalla difficoltà: da 1 (più facile) a 5 (più
difficile). Vuoi saperne di più? Consulta il
Centro assistenza
Informatica
1. Assicura a una funzione non membro l’accesso ai membri privati
2. Ridefinisce una funzione già esistente per l’impiego di altri parametri
3. Identifica un metodo di una classe
Il punteggio di un esercizio è determinato
dalla difficoltà: da 1 (più facile) a 5 (più
difficile). Vuoi saperne di più? Consulta il
Centro assistenza
Informatica
a. Funzioni di tipo friend
b. Classe derivata
c. Funzioni membro
d. Funzione main()
Il punteggio di un esercizio è determinato
dalla difficoltà: da 1 (più facile) a 5 (più
difficile). Vuoi saperne di più? Consulta il
Centro assistenza
Informatica
Per ciascuna delle seguenti affermazioni, indica se è vera o falsa.
Con l’incapsulamento è possibile accedere agli attributi di una classe attraverso i metodi.
Con l’incapsulamento tutto ciò che si riferisce a un oggetto è racchiuso all’interno dell’oggetto stesso.
Una classe è un’unità di programmazione che può essere utilizzata in un solo programma.
Le classi più generali si chiamano classi base o superclassi.
Gli attributi non incidono sulla dimensione delle istanze.
La dimensione di un’istanza coincide con il numero di byte occupati dai suoi metodi.
Se nella classe sono indicati solo i prototipi dei metodi, per la loro implementazione si utilizza la sintassi tipo nome_classe::nome_metodo.
Non implementando il costruttore e il distruttore, il compilatore li crea automaticamente.
Una classe può avere più di un costruttore.
Se si implementa un costruttore, il compilatore include comunque quello di default.
Il distruttore serve nella gestione dinamica della memoria per liberare spazio non più necessario.
Se il programmatore o la programmatrice ha definito un costruttore che prevede dei parametri, non è possibile dichiarare un’istanza senza argomenti.
Le classi derivate ereditano tutti i membri della classe base.
Le classi derivate non possono essere arricchite con funzionalità aggiuntive rispetto alla classe base: è necessario integrare la classe base.
Una classe derivata dispone di tutti gli attributi e dei metodi della classe d’origine: questa caratteristica è chiamata incapsulamento.
Un attributo protetto è visto da una funzione non membro.
Un attributo protetto è visto da una classe derivata.
Un membro protetto è visto da una funzione friend.
Un metodo protetto è visto da una funzione non membro.
Un metodo privato è visto da una classe derivata.
Una classe derivata può coprire un metodo della classe base scrivendo un nuovo metodo avente lo stesso nome e la stessa firma.
Un metodo può essere ridefinito, consentendo il passaggio di parametri in numero e di tipo diversi.
L’overriding dei metodi modifica un metodo all’interno della classe base.
L’overriding dei metodi sovrascrive, nella classe derivata, un metodo ereditato, cambiando le istruzioni che ne descrivono il comportamento.
La programmazione orientata agli oggetti può essere definita bug-free (letteralmente “libera da errori”) poiché riduce il rischio di commettere errori quando si utilizzano i codici già testati.
La programmazione tradizionale permette di riutilizzare con maggior facilità i codici già testati rispetto alla programmazione orientata agli oggetti.
Durante l’analisi di un oggetto è importante individuare eventuali membri comuni ad altri oggetti in modo da definire una classe base condivisibile con altre applicazioni.
Nella programmazione orientata agli oggetti, la classe derivata è lasciata intatta, in quanto le variazioni al codice sono implementate nella classe base.
Il punteggio di un esercizio è determinato
dalla difficoltà: da 1 (più facile) a 5 (più
difficile). Vuoi saperne di più? Consulta il
Centro assistenza