Sfida: Costruttore e Attributi
Uno degli utilizzi principali dei costruttori è inizializzare gli attributi della classe. Un costruttore di default, ad esempio, può essere utilizzato per impostare valori iniziali. Ad esempio:
main.cpp
1234567891011121314#include <iostream> class Person { public: Person() { name = "undefined"; } std::string name; }; int main() { Person person; std::cout << person.name; }
Se non si specifica un valore per l'attributo name dell'oggetto, verrà impostato su underfined come valore predefinito. È possibile provare a rimuovere questo costruttore per osservare le modifiche che si verificano.
Inizializzazione degli attributi con il costruttore
Come le funzioni, i costruttori possono accettare parametri, consentendo argomenti diversi durante la creazione dell'oggetto. È inoltre possibile sovraccaricarli per gestire un numero variabile di argomenti.
main.cpp
123456789101112131415161718class Person { public: Person(std::string _name, std::string _surname, int _age) { name = _name; surname = _surname; age = _age; } std::string name; std::string surname; int age; }; int main() { Person person("Bob", "Song", 23); }
Swipe to start coding
Immagina di dover costruire un semplice sistema di mappatura. Devi creare una classe Location che rappresenta un punto su una mappa con un nome e delle coordinate. Il tuo compito è implementare un costruttore e un metodo per calcolare la distanza da un'altra posizione.
- Implementazione di un costruttore che inizializza tutti e tre i campi:
- Il costruttore deve accettare tre parametri: una
std::stringper il nome e due valoridoubleper le coordinate x e y. - All'interno del costruttore, assegna il parametro del nome al campo
namedell'oggetto. - Assegna il parametro della coordinata x al campo
xdell'oggetto. - Assegna il parametro della coordinata y al campo
ydell'oggetto.
- Il costruttore deve accettare tre parametri: una
- Implementazione di un metodo
distanceToche accetta un altro oggettoLocationcome parametro:- Accedi alle coordinate
xeysia dell'oggetto corrente sia dell'altro oggetto. - Calcola la differenza tra le coordinate
x:other.x - x. - Calcola la differenza tra le coordinate
y:other.y - y. - Calcola la distanza utilizzando la formula:
sqrt(dx * dx + dy * dy). - Restituisci la distanza calcolata come un valore
double.
- Accedi alle coordinate
Esempio
Location("Home", 0.0, 0.0) and Location("Office", 3.0, 4.0) -> 5.0
Location("Park", 1.0, 2.0) and Location("School", 4.0, 6.0) -> 5.0
Location("Cafe", -1.0, -1.0) and Location("Library", 2.0, 3.0) -> 5.0
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Fantastico!
Completion tasso migliorato a 3.13
Sfida: Costruttore e Attributi
Scorri per mostrare il menu
Uno degli utilizzi principali dei costruttori è inizializzare gli attributi della classe. Un costruttore di default, ad esempio, può essere utilizzato per impostare valori iniziali. Ad esempio:
main.cpp
1234567891011121314#include <iostream> class Person { public: Person() { name = "undefined"; } std::string name; }; int main() { Person person; std::cout << person.name; }
Se non si specifica un valore per l'attributo name dell'oggetto, verrà impostato su underfined come valore predefinito. È possibile provare a rimuovere questo costruttore per osservare le modifiche che si verificano.
Inizializzazione degli attributi con il costruttore
Come le funzioni, i costruttori possono accettare parametri, consentendo argomenti diversi durante la creazione dell'oggetto. È inoltre possibile sovraccaricarli per gestire un numero variabile di argomenti.
main.cpp
123456789101112131415161718class Person { public: Person(std::string _name, std::string _surname, int _age) { name = _name; surname = _surname; age = _age; } std::string name; std::string surname; int age; }; int main() { Person person("Bob", "Song", 23); }
Swipe to start coding
Immagina di dover costruire un semplice sistema di mappatura. Devi creare una classe Location che rappresenta un punto su una mappa con un nome e delle coordinate. Il tuo compito è implementare un costruttore e un metodo per calcolare la distanza da un'altra posizione.
- Implementazione di un costruttore che inizializza tutti e tre i campi:
- Il costruttore deve accettare tre parametri: una
std::stringper il nome e due valoridoubleper le coordinate x e y. - All'interno del costruttore, assegna il parametro del nome al campo
namedell'oggetto. - Assegna il parametro della coordinata x al campo
xdell'oggetto. - Assegna il parametro della coordinata y al campo
ydell'oggetto.
- Il costruttore deve accettare tre parametri: una
- Implementazione di un metodo
distanceToche accetta un altro oggettoLocationcome parametro:- Accedi alle coordinate
xeysia dell'oggetto corrente sia dell'altro oggetto. - Calcola la differenza tra le coordinate
x:other.x - x. - Calcola la differenza tra le coordinate
y:other.y - y. - Calcola la distanza utilizzando la formula:
sqrt(dx * dx + dy * dy). - Restituisci la distanza calcolata come un valore
double.
- Accedi alle coordinate
Esempio
Location("Home", 0.0, 0.0) and Location("Office", 3.0, 4.0) -> 5.0
Location("Park", 1.0, 2.0) and Location("School", 4.0, 6.0) -> 5.0
Location("Cafe", -1.0, -1.0) and Location("Library", 2.0, 3.0) -> 5.0
Soluzione
Grazie per i tuoi commenti!
single