• 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
308 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ź 199 wizyt
0 głosów
1 odpowiedź 169 wizyt
pytanie zadane 12 maja 2020 w C i C++ przez Piotr282 Nowicjusz (210 p.)
0 głosów
0 odpowiedzi 309 wizyt
pytanie zadane 31 maja 2020 w C i C++ przez Piotr282 Nowicjusz (210 p.)

92,669 zapytań

141,568 odpowiedzi

320,037 komentarzy

62,034 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

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!

...