Witam, potrzebuję pomocy w napisaniu metody przesun(x,y) i przesun(wek) przesuwającą prosotkąt o wskazany wektor. Nie mam pojęcia jak zacząć, proszę o wskazówki.
PS. Potrzebuję również dodać co najmniej 2 destruktory, aczkolwiek nie wiem w których miejscach.
Kod do programu wygląda następująco:
// PLIK TEST1.H
#include <iostream>
using namespace std;
class Punkt
{
string nazwa;
float x,y;
public:
Punkt(string="A",float=0,float=0);
void wczytaj();
void wyswietl();
};
class Prostokat
{
string nazwa;
float x,y,szerokosc,wysokosc;
public:
Prostokat(string="brak",float=0,float=0,float=1,float=1);
void wczytaj();
void info();
void pole();
void obwod();
void przesun_o_pkt();
void przesun_o_wektor();
};
// PLIK TEST1.CPP
#include <iostream>
#include "test1.h"
using namespace std;
Punkt::Punkt(string n,float xx,float yy)
{
nazwa=n;
x=xx;
y=yy;
}
void Punkt::wczytaj()
{
cout << " Nowy Punkt" <<endl;
cout << "Podaj x: " ; cin>>x;
cout << "Podaj y: " ; cin>>y;
cout << "Nazwa Punktu: " ; cin>>nazwa;
}
void Punkt::wyswietl()
{
cout << endl;
cout << "Punkt "<<nazwa<<" o wspolrzednych: " << "(" << x << "," << y << ")" <<endl;
}
//%%%%%%%%%%% WYZEJ FUNKCJE PUNKTU // // NIZEJ FUNKCJE PROSTOKATA %%%%%%%%%%%%%%%%%%
Prostokat::Prostokat(string n,float xx, float yy, float s, float w)
{
nazwa=n;
x=xx;
y=yy;
szerokosc=s;
wysokosc=w;
}
void Prostokat::wczytaj()
{
cout << endl;
cout << " Nowy Prostoakt" << endl;
cout << "Podaj x lewego dolnego naroznika: " ; cin>>x;
cout << "podaj y lewego dolnego naroznika: " ; cin>>y;
cout << "Podaj szerokosc: " ; cin >> szerokosc;
cout << "Podaj wysokosc: " ; cin >> wysokosc;
cout << "Podaj nazwe prostokowa: " ; cin >> nazwa;
}
void Prostokat::info()
{
cout << endl;
cout << "Lewy Dolny Punkt Prostokata "<<nazwa<<" o wspolrzednych: " << "(" << x << "," << y << ")" << endl;
}
void Prostokat::obwod()
{
cout << endl;
cout << "Obwod Prostokata wynosi: "<< (2*szerokosc)+(2*wysokosc) << endl;
}
void Prostokat::pole()
{
cout << endl;
cout << " Pole prostokata wynosi: "<< szerokosc*wysokosc <<endl;
}
void Prostokat::przesun_pkt()
{
// %%%%%%%%%%%%%%%%%%%%%%%%%% //
}
void Prostokat::przesun_o_wektor()
{
// %%%%%%%%%%%%%% //
}
// PLIK MAIN.CPP
#include <iostream>
#include "test1.h"
using namespace std;
int main()
{
Punkt pkt1;
pkt1.wczytaj();
pkt1.wyswietl();
Prostokat p1;
{
p1.wczytaj();
p1.info();
p1.obwod();
p1.pole();
}
return 0;
}