logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

C++ Klasa zaprzyjaźniona: błędy i umieszczenie funkcji w innym pliku

AmadeuszFight 13 Lis 2009 11:01 2919 2
REKLAMA
  • #1 7254137
    AmadeuszFight
    Poziom 9  
    Posty: 41
    Ocena: 4
    Mam problem z klasą zprzyjaźnioną, możecie wskazać mi błędy?I takie pytanko małe, jak umieścić tą funkcje w innym pliku?Nie moge znależć stosownego przykładu.
    wektor3w.h
    
    
    class wektor3w
                        {
                            public:
                            friend bool Rowny(wektor3w,wektor3w);
                            wektor3w(float,float,float);
                            wektor3w();
                            ~wektor3w();
                            void Wyswietl();
                            float x,y,z;
                        };
    

    wektor3w.cpp
    
    
    #include"wektor3w.h"
    #include <iostream.h>
    
        wektor3w :: wektor3w(float c1 ,float c2 ,float c3)
    {
      x=c1, y=c2, z=c3;
    }
    
        wektor3w :: wektor3w()
    {
      x, y, z = 0.0;
    }
    
      wektor3w :: ~wektor3w(){}
    
      void wektor3w :: Wyswietl()
    {
          cout<<"Współrzędna x : " << x << " Współrzędna y : " << y << " Współrzędna z : " << z  << "\n" ;
    }
    
    
    
            friend bool Rowny(wektor3w ob1,wektor3w ob2){
    
            return (ob1.x == ob2.x) && (ob1.x == ob2.x) && (ob1.x == ob2.x);
       }
    

    main
    
    
    #include "wektor3w.h"
    #include <iostream.h>
    
    
    
    int main()
    {
    
                       cout << "Program testowy." ;
                       cout << "Zadanie 7." ;
                       cout << "-----------------" ;
                       wektor3w wektor1(10,20,30);
                       wektor1.Wyswietl();
                       wektor3w wektor2(10,20,30);
                       wektor2.Wyswietl();
                       wektor3w wektor3;
                       wektor3.Wyswietl();
                       bool Rowny(wektor1,wektor2);
    }
    
  • REKLAMA
  • #2 7254406
    lukagrom
    Poziom 16  
    Posty: 195
    Pomógł: 29
    Ocena: 12
    A więc tak:
    To
    
    friend bool Rowny(wektor3w ob1,wektor3w ob2){
    

    zastępujesz tym
    
    bool Rowny(wektor3w ob1, wektor3w ob2){
    

    A z kolei to:
    
    bool Rowny(wektor1,wektor2); 
    

    Zastępujesz tym
    
    Rowny(wektor1, wektor2);
    

    Co do dołączonej biblioteki zależy od jakiego kompilatora korzystasz i jakie są wtedy opcję kompilacji. Żeby się nie motać treść "wektor3w.h" i "wektor3w.cpp" zapisz w jedno "wektor3w.h" wtedy zawsze wystartuje.
  • #3 7254616
    AmadeuszFight
    Poziom 9  
    Posty: 41
    Ocena: 4
    W ten sposób to ja umiem to zrobić.Chodzi o to , żeby zrobić to z funkcją zaprzyjaźninoną i w innym pliku.
REKLAMA