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

Programowanie-obiektowe. Zad. z lab. Mam kilka pytan.

Object Storage Arubacloud
0 głosów
279 wizyt
pytanie zadane 12 maja 2020 w C i C++ przez Piotr282 Nowicjusz (210 p.)

#include <iostream>
using namespace std;

class Punkt2D
{
public:
	double x;
	double y;
	Punkt2D(double newX = 0, double newY = 0) 
	{
		x = newX;
		y = newY;
	}
	void wypisz()
	{
		cout << "X:\n" << x << "\n" << "\nY:\n" << y  << endl;
	}
};

class Punkt3D : public Punkt2D
{
public:
	double z;
	Punkt3D(double newZ = 0, double newX = 0, double newY = 0) : Punkt2D(newX, newY)
	{
		z = newZ;
	}

	void wypisz()
	{
		cout << "\nZ:\n" << z << endl;
	}
};

int  main()
{
	Punkt2D firstA(2, 2);
	firstA.wypisz();
	Punkt3D firstB(7);
	firstB.wypisz();
	return 0;
}

Zadanie. Stworzyć klasy Punkt2D (wewnątrz dwie zmienne double x , double y) i Punkt3D (wewnątrz
double z). Klasa Punkt3D dziedziczy po klasie Punkt2D W każdej klasie 1 konstruktor, w klasie
Punkt2D przyjmuje dwie zmienne typu double (przypisuje je do x i y), w klasie Punkt3D przyjmuje
3 zmienne typu double (wykorzystania konstruktora z klasy Punkt2D oraz przypisanie trzeciej
zmiennej do z). W utworzonych klasach Punkt2D i Punkt3D utworzyć metodę obliczającą
odległość pomiędzy dwoma punktami (w klasie Punkt3D metoda ma być przesłonięta).
Wszystkie dane podawane z klawiatury.

Сzy ktoś może pomoc wyjaśnić, jak zakończyć laboratorium?

Niew wiem tego: "W utworzonych klasach Punkt2D i Punkt3D utworzyć metodę obliczającą
odległość pomiędzy dwoma punktami (w klasie Punkt3D metoda ma być przesłonięta).
Wszystkie dane podawane z klawiatury."

1. Jak utworzyć metodę obliczającą
odległość pomiędzy dwoma punktami?

2. Gdzie trzeba wstawic 'cin' dla: dane podawane z klawiatury?

(Wiem, co tam jest moje dany double 2, 2, 7 to dla ogl.)

3. I jeśli zobaczysz jakiś błąd, pokaż mi i wyjaśnij, proszę.

1 odpowiedź

+1 głos
odpowiedź 12 maja 2020 przez Ajqs Obywatel (1,360 p.)
wybrane 12 maja 2020 przez Piotr282
 
Najlepsza

1. Pomyśl jak na osi obliczysz odległość pomiędzy punktem A i punktem B. 

2. Aby wpisać parametr do obiektu z klawiatury musi mieć on utworzoną funkcję typu void wewnątrz klasy (zakładając oczywiście, że atrybuty są prywatne w innym razie możesz utworzyć takowe wpisywanie w int main jednak raczej unikaj przypisywanie wszystkiego co znajduje się w klasie do public). 

void wpisz()
    {
        cout << "Podaj punkt x: ";
        cin >> x;
        cout << "Podaj punt y: ";
        cin >> y;
    }

3.

Raczej staraj się unikać "/n". Może przysporzyć kiedyś problemów.   

1
komentarz 12 maja 2020 przez tkz Nałogowiec (42,000 p.)

1. Oś jest na jednej płaszczyźnie. Układ kartezjański charakteryzuje się dwiema osiami. http://matematyka.pisz.pl/strona/1248.html

3. Dlaczego? Co proponujesz w zamian?

1
komentarz 12 maja 2020 przez Ajqs Obywatel (1,360 p.)
1. Mój błąd

3. Zawsze byłem uczony, że endl działa lepiej w programach. Ile programistów tyle opinii na temat co jest lepsze. Słyszałem, że '/n' potrafi przysporzyć problemów w niektórych sytuacjach stąd napisałem tą wiadomość.
1
komentarz 12 maja 2020 przez tkz Nałogowiec (42,000 p.)
Nie tyle co opinii, a faktów. std::endl jest wskaźnikiem na funkcję. Gdy std::cout wykryję przeciążenie na <<std::endl, to wysyła znak nowej linii, oraz flusha. A gdy napotka '\n', flush nie będzie wykonany, będzie(tekst) zbuforowany i wypisany, kiedy? To zależy, implementacja to definiuje. Linux robi flusha przy nowej linii, a pod windowsem jest po każdym cout.

Podobne pytania

0 głosów
1 odpowiedź 185 wizyt
0 głosów
1 odpowiedź 167 wizyt
pytanie zadane 12 maja 2020 w C i C++ przez Piotr282 Nowicjusz (210 p.)
0 głosów
0 odpowiedzi 288 wizyt
pytanie zadane 31 maja 2020 w C i C++ przez Piotr282 Nowicjusz (210 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...