• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[CR] Obiektowy C++ (#4): Funkcje zaprzyjaźnione

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+1 głos
3,108 wizyt
pytanie zadane 4 maja 2016 w Nasze poradniki przez Mirosław Zelent Nałogowiec (34,780 p.)

CR = Code Review. O co chodzi? Zajrzyj tutaj
Pełna lista wszystkich Code Review? Zajrzyj tutaj

https://www.youtube.com/watch?v=fHGBHwxZ8kk

przyjaciele.h:

#include <iostream>

using namespace std;

class Prostokat;

class Punkt
{
   string nazwa;
   float x,y;

public:
   Punkt(string="A",float=0, float=0);
   void wczytaj();

   friend void sedzia (Punkt &pkt, Prostokat &p);

};

class Prostokat
{
   string nazwa;
   float x,y,szerokosc,wysokosc;

public:
   Prostokat(string="brak",float=0,float=0,float=1,float=1);
   void wczytaj();

   friend void sedzia (Punkt &pkt, Prostokat &p);
};

przyjaciele.cpp:

#include <iostream>
#include "przyjaciele.h"
using namespace std;

Punkt::Punkt(string n, float xx, float yy)
{
   nazwa=n;
   x=xx;
   y=yy;
}

void Punkt::wczytaj()
{
   cout<<"Podaj x: "; cin>>x;
   cout<<"Podaj y: "; cin>>y;
   cout<<"Nazwa punktu: "; cin>>nazwa;
}

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<<"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 prostokata: "; cin>>nazwa;*/
   cout<<endl<<"Nazwa obiektu: "<<nazwa;
}

main.cpp:

#include <iostream>
#include "przyjaciele.h"
using namespace std;

void sedzia(Punkt &pkt,Prostokat &p)
{
   p.nazwa="PODMIANA";

if((pkt.x>=p.x)&&(pkt.x<=p.x+p.szerokosc)&&(pkt.y>=p.y)&&(pkt.y<=p.y+p.wysokosc))

cout<<endl<<"Punkt "<<pkt.nazwa<<" nalezy do prostokata: "<<p.nazwa;

else

cout<<endl<<"Punkt "<<pkt.nazwa<<" lezy POZA prostokatem: "<<p.nazwa;


}

int main()
{
    Punkt pkt1("A",3,17);
    //pkt1.wczytaj();

    Prostokat p1("Prostokat",0,0,6,4);
    //p1.wczytaj();

    sedzia(pkt1,p1);

    p1.wczytaj();

    return 0;
}

Paczka z odcinka: POBIERZ​

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 497 wizyt
+2 głosów
1 odpowiedź 5,670 wizyt

93,101 zapytań

142,066 odpowiedzi

321,526 komentarzy

62,442 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...