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

Tworzenie klas, konstruktorów, funkcji i FRIEND

Object Storage Arubacloud
0 głosów
357 wizyt
pytanie zadane 25 marca 2020 w C i C++ przez MaTiDxxx Początkujący (290 p.)

Zadanie 1: Dodawanie obiektów różnych klas

1. Utwórz klasę Pierwsza zawierającą:
- pole prywatne wartoscA;
- konstuktor bezparametrowy z przypisaną warością równą 50 (w tym celu użyj listy inicjalizującej).
2.    Utwórz klasę  Druga zawierającą:
- pole prywatne wartoscB;
- konstuktor bezparametrowy z przypisaną warością równą 20 (nie używaj listy inicjalizującej).
3.    Do klasy ( Pierwsza ) lub ( Druga ) lub ( Pierwsza i Druga ) dodaj odpowiednią metodę dodajAiB() umożliwiającą dodawanie 
aktualnych wartości obiektów klasy Pierwsza oraz Druga. 
Metoda dodajAiB() powinna być dwuargumentowa, określona poprzez typ klasy Pierwsza oraz typ klasy Druga. (Pamiętaj o wykorzystaniu słowa kluczowego friend).
4.    W odpowiednim miejscu i w odpowiedni sposób zdefiniuj metodę dodajAiB().
5.    W funkcji main():
- utwórz statycznie dwa obiekty (po jednym dla każdej z klasy);
- wywołaj metodę dodajAiB();
- wyświetl wynik dodawania obiektów za pomocą  strumienia wyjściowego cout.

Zadanie 2: Dodawanie macierzy

1. Klasa Macierz zawiera:
część prywatną (private):
- statyczną tablicę dwuwymiarową o rozmiarze 3 x 3 przechowującą liczby zmiennoprzecinkowe;
- zmienne przechowujące rozmiar tablicy;
część publiczną (public):
- konstruktor- w którym wypełniamy tablicę zerami
- metodę wczytajDane() wczytującą z klawiatury dane którymi będzie wypełniona macierz
- metodę wypisz() wypisującą zawartość macierzy (każdy wiersz należy
wypisywać w oddzielnej linii, a poszczególne liczby w wierszu oddzielamy znakiem spacji lub tabulacji).
2. Napisz funkcję zaprzyjaźnioną (friend) dodajMacierze() dodającą dwa obiekty klasy Macierz i zwracającą jako wynik wskaźnik na nowy obiekt klasy Macierz.
Wynik dodawania macierzy przechowujemy w nowo utworzonym obiekcie.
3. W programie należy za pomocą operatora new utworzyć dwa obiekty i dla każdego z nich wywołać metodę wczytajDane() oraz wypisz().
4. Następnie wywołaj funkcję dodajMacierze() oraz metodę wypisz dla nowego obiektu zawierającego wynik dodawania macierzy.


Czy mógłby ktoś pomóc dokończyć te dwa zadania gdyż stanąłem w miejscu...

#include <iostream>
#include <cstdlib>

using namespace std;

class Macierz
{
	public:
		Macierz(int x, int y) 
		{
			for(int i = 0; i < 3; i++)
			{
				for (int j = 0; j < 3; j++)
				{
					tab[i][j] = 0;
				}
			}
		}	
		
		void wczytajDane()
		{
			for(int i = 0; i < 3; i++)
			{
				for (int j = 0; j < 3; j++)
				{
					cin >> tab[i][j];
				}
			}
		}
		
		void wypisz()
		{
			for(int i = 0; i < 3; i++)
			{
				for (int j = 0; j < 3; j++)
				{
					cout << tab[i][j] << " ";
				}
				cout << endl;
			}
		}	
		
		friend void dodajMacierz();
		
	private:
		float tab[3][3];
		int m;
		int n;
};

void dodajMacierz()
{
	
}

int main()
{
	
return 0;
}
#include <iostream>
#include <cstdlib>

using namespace std;

class Pierwsza
{
	public:
		friend class Druga;	
		friend void dodajAiB();
	private:
		int wartoscA;
		Pierwsza(int x) : wartoscA(x) {}
};

class Druga
{
	public:	
		friend class Pierwsza;	
		friend void dodajAiB();
	private:
		int wartoscB;
		Druga(int y)
		{
			wartoscB = y;
		}
};

void dodajAiB(Pierwsza& wartoscA, Druga& wartoscB)
{
	int suma;
	suma = Pierwsza.wartoscA + Druga.wartoscB;
}

int main()
{
	Pierwsza ob1 = Pierwsza(50);
	Druga ob2 = Druga(20);
	
	dodajAiB(ob1,ob2);
	
	cout << "Wynikiem dodawania jest: " << suma << endl;
	
return 0;
}

 

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

Podobne pytania

0 głosów
1 odpowiedź 124 wizyt
pytanie zadane 31 marca 2020 w C i C++ przez MaTiDxxx Początkujący (290 p.)
0 głosów
1 odpowiedź 184 wizyt
pytanie zadane 18 lipca 2019 w Python przez RafalS VIP (122,820 p.)
0 głosów
1 odpowiedź 116 wizyt

92,619 zapytań

141,468 odpowiedzi

319,786 komentarzy

62,001 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!

...