Classe c++
ciao ragazzi volevo chiedervi alcune spiegazioni...il mio esercizio mi richiede di scrivere una classe Point per rappresentare i punti sul piano cartesiano,dei metodi per ottenere e impostare la posizione e dei metodi per calcolare la distanza da un altro punto.
partiamo dal presupposto che non abbia capito molto le slides del prof riguardanti le classi...comunque il file header non dovrebbe essere un problema.
file point.h
in cui ho messo come privato le variabili x e y che mi danno la posizione del punto sul piano cartesiano e come pubbliche la funzione set che mi imposta la nuovo posizione di x e y e get che me la stampa e come ultima la funzione float distance che mi indica quanto sia la distanza tra un punto p1 rispetto au un punto p2...
il problema è che non ho capito bene come impostare in file point.cpp e il file main... posso avere delle spiegazioni? grazie anticipatamente
partiamo dal presupposto che non abbia capito molto le slides del prof riguardanti le classi...comunque il file header non dovrebbe essere un problema.
file point.h
#ifndef POINT_H #define POINT_H class point { public: point(); void set (float newX, float newY); float getX(); float getY(); float distance(point other); private: float x; float y; }; #endif
in cui ho messo come privato le variabili x e y che mi danno la posizione del punto sul piano cartesiano e come pubbliche la funzione set che mi imposta la nuovo posizione di x e y e get che me la stampa e come ultima la funzione float distance che mi indica quanto sia la distanza tra un punto p1 rispetto au un punto p2...
il problema è che non ho capito bene come impostare in file point.cpp e il file main... posso avere delle spiegazioni? grazie anticipatamente
Risposte
Nel file point.cpp devi implementare i metodi della tua classe, nel main dipende molto da quali sono le altre richieste dell'esercizio.. Il file point.cpp dovrà più o meno apparire come il seguente:
#include "point.h" #include <cmath> void point::set(float newX, float newY) { // implementazione funzione } float point::distance(point other) { // implementazione funzione }
scusa ancora...dato che sono un pò negato col c++,vorrei chiederti qualcosa altro: in teoria io vorrei che nel main definire 2 punti:p1 e p2 ma p2 vorrei che fosse fisso mentre p1 vorrei dare io la coordinata x e y...questo "cin" lo metto nel main no?
poi un'altra cosa...lei non ha considerato la funzione "get" ...devo considerarla nel file .cpp?
poi un'altra cosa...lei non ha considerato la funzione "get" ...devo considerarla nel file .cpp?
Per prima cosa, dammi pure del tu... Devi inserire tutte le funzioni membro della classe (che non sono implementate già nell'header), quelle due erano solo due esempi. Personalmente non la scriverei così quella classe, ma è solo questione di stile. E' infatti corretta così com'è e immagino segua le regole insegnate dal tuo professore.
Le istanze della classe vanno create ed inizializzate nel main. Prova a scriverla e poi ne discutiamo insieme.
Le istanze della classe vanno create ed inizializzate nel main. Prova a scriverla e poi ne discutiamo insieme.