Se la domanda è come disegnare una retta, la risposta è semplice, nei vari ambienti grafici ti vengono fornite delle primitive tipo DrawLine o simili.
Se per 'rappresentare una retta in C++' intendi la sua rappresentazione nel codice, la risposta è, scrivendo una classe Retta. La retta è una funzione del tipo y = mx + q, quindi per definirla devi fornire i valori di m e q. Per rappresentare una retta in C++ puoi scrivere una classe:
class Retta
{
double m;
double q;
Retta(double m, double q)
{
this.m = m;
this.q = q;
}
}
Dopo che l' utente ha introdotto i valori puoi creare un oggetto retta:
m = ... leggo valore
q = ... leggo valore
Retta r1(m, q);
Ora hai una rappresentazione informatica della retta, puoi scrivere codice che calcola le intersezioni tra due rette, la perpendicolare, la distanza di un punto da una retta ecc, puoi costruirti tutto un mondo geometrico.
E puoi anche disegnarla, qui però entra in ballo l' ambiente in cui ti trovi (Windows/Linux/Apple/Android ecc.) non esiste uno standard, devi ricorrere a delle primitive specifice per disegnare sullo schermo. Quindi mentre la retta è un concetto astratto, matematico, e la classe che lo descrive rimane immutata, il codice per rappresentarla invece sarà diverso da ambiente a ambiente ed è bene che queste due cose restino separate, ciò ti permetterà di passare da un ambiente all' altro con facilità.
Il discorso adesso diventa come disegnare il grafico di una funzione (la retta comincia a starci stretta), puoi ad esempio tracciare una sequenza di punti, oppure dei segmenti, facciamo l' esempio coi punti. Dato che per disegnare una retta (o una funzione) devi conoscere i valori della y che corrispondono ad una certa x, conviene aggiungere alla classe retta un metodo apposito:
double Retta::Ordinata(x)
{
return m * x + q;
}
E in un generico ambiente grafico scriverai qualcosa del genere (così è un po semplificato):
for(int x=0; x < 1000; ++x)
{
double y = r1.Ordinata(x); // r1 è la retta
DrawPoint(x, y);
}
Ovviamente il tutto puo essere fatto in maniera più banale (introduci due valori, fai un for e tracci i punti, niente classi), ma visto che parliamo di C++ e stai imparando questo discorso puo esserti utile, e poi avevo voglia di chiacchierare.