Advertisement
harisha

Untitled

Feb 1st, 2015
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.41 KB | None | 0 0
  1. /*
  2. Ćwiczenie 2 (egzamin)
  3. Utworzyć klasę posiadającą w części prywatnej dwie składowe typu double. W
  4. części publicznej klasa powinna zawierać konstruktor umożliwiający inicjalizowanie
  5. obu składowych oraz operator dodawania. Wynikiem dodawania ma być obiekt,
  6. którego pierwsza składowa ma taką samą wartość jak pierwsza składowa lewego
  7. składnika, a druga taką jak druga składowa prawego składnika. Zdefiniować operator
  8. mnożenia jako funkcję zaprzyjaźnioną z klasą. Wynikiem mnożenia ma być liczba
  9. będąca iloczynem pierwszej składowej lewego czynnika i drugiej składowej prawego
  10. czynnika. Napisać program, w którym obliczana jest suma oraz iloczyn dwu obiektów.
  11. */
  12.  
  13. #include <iostream>
  14.  
  15. class Bazowa
  16. {
  17.     private:
  18.         double a, b;
  19.     public:
  20.         Bazowa(double a1, double b1):a(a1), b(b1){}
  21.         double zw_a()
  22.         {
  23.             return a;
  24.         }
  25.         double zw_b()
  26.         {
  27.             return b;
  28.         }
  29.         friend double operator*(Bazowa o1, Bazowa o2);
  30.        
  31.         void wypisz()
  32.         {
  33.             std::cout<<a<<' '<<b<<std::endl;
  34.         }
  35. };
  36.  
  37. Bazowa operator+(Bazowa o1, Bazowa o2)
  38.         {
  39.             Bazowa wynik(o1.zw_a(),o2.zw_b());     
  40.             return wynik;
  41.         }
  42.  
  43. double operator*(Bazowa o1, Bazowa o2)
  44.         {
  45.             double x;
  46.             x=(o1.a*o2.b);
  47.             return x;
  48.         }  
  49.    
  50. int main()
  51. {
  52.     Bazowa o1(1,2), o2(3,4);
  53.     o1.wypisz();
  54.     o2.wypisz();
  55.     Bazowa o3=o1+o2;
  56.     o3.wypisz();
  57.     double X = o1*o2;
  58.     std::cout<<std::endl<<X<<std::endl;
  59.     return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement