zoltan22

Hozzászólások

10 bejegyzés megtekintése - 941-950 / 2,516
  • Szerző
    Bejegyzés
  • Hozzászólás: matrix osztaly osszeadasra #2154777
    zoltan22
    Felhasználó

      Mert csak azt tudod felulertelmezni, hogy mi tortenjen egy operator alkalmazasa eseten, a parametereinek a szamat nem.

      Hozzászólás: matrix osztaly osszeadasra #2154778
      zoltan22
      Felhasználó

        Mert csak azt tudod felulertelmezni, hogy mi tortenjen egy operator alkalmazasa eseten, a parametereinek a szamat nem.

        Hozzászólás: matrix osztaly osszeadasra #2154773
        zoltan22
        Felhasználó

          Gondoltam adok egy peldat arra is, hogy hogyan ne programozzunk (hacsak nem akarjuk oruletbe kergetni azt, aki a programot olvassa):

          Code:
          #include

          class Valami {
            private:
              float tomb[3][3];
            public:
           
              Valami & operator ++(int unused);
          };

          // ennek a fuggvenynek is ismerjuk a parametereit
          Valami & Valami::operator ++(int unused){
            int i,j;
            for( i=0; i<3; i++){
              for(j=0; j<3; j++)
            std::cout << tomb[I][j] << " ";
              std::cout << std::endl;
            }
            return *this;
          }

          int main(void){
            Valami objektum;
            // ….
            // es ez ki fogja irni az objektumot!!!
            objektum++;
          }

          Hozzászólás: matrix osztaly osszeadasra #2154774
          zoltan22
          Felhasználó

            Gondoltam adok egy peldat arra is, hogy hogyan ne programozzunk (hacsak nem akarjuk oruletbe kergetni azt, aki a programot olvassa):

            Code:
            #include

            class Valami {
              private:
                float tomb[3][3];
              public:
             
                Valami & operator ++(int unused);
            };

            // ennek a fuggvenynek is ismerjuk a parametereit
            Valami & Valami::operator ++(int unused){
              int i,j;
              for( i=0; i<3; i++){
                for(j=0; j<3; j++)
              std::cout << tomb[I][j] << " ";
                std::cout << std::endl;
              }
              return *this;
            }

            int main(void){
              Valami objektum;
              // ….
              // es ez ki fogja irni az objektumot!!!
              objektum++;
            }

            Hozzászólás: matrix osztaly osszeadasra #2154771
            zoltan22
            Felhasználó

              Attol tartok, utana kellene nezzel, hogy mi a kulonbseg a „/” es a „/=” operatorok kozott…

              Hozzászólás: matrix osztaly osszeadasra #2154772
              zoltan22
              Felhasználó

                Attol tartok, utana kellene nezzel, hogy mi a kulonbseg a „/” es a „/=” operatorok kozott…

                Hozzászólás: Aktuális hangerő fájlból #2153347
                zoltan22
                Felhasználó

                  A C program, ha jol irod meg, sokkal hatekonyabb lesz 😉 (meg egyebkent is)

                  Hozzászólás: Aktuális hangerő fájlból #2153348
                  zoltan22
                  Felhasználó

                    A C program, ha jol irod meg, sokkal hatekonyabb lesz 😉 (meg egyebkent is)

                    Hozzászólás: matrix osztaly osszeadasra #2154767
                    zoltan22
                    Felhasználó

                      Vigyazat, offolok.
                      Lassuk, hogyan lehetne egy osztalyban levo tombot kiiratni.

                      1. modszer: Lusta embereknek, es akiket nem zavar hogy ganyolnak, es az objektumok elszigetelesenek az elvet megszegik:

                      1.a. printf -vel:

                      Code:
                      #include

                      class Valami {
                      public: // << ez most public!
                      float tomb[3][3];
                      };
                      int main(void){
                      Valami objektum;
                      // ….

                      int i,j;
                      for( i=0; i<3; i++){
                      for(j=0; j<3; j++)
                        printf( "%f ", objektum.tomb[I][j]);
                      printf("n");
                      }
                      }

                      1.b. cout-al:

                      Code:
                      #include

                      class Valami {
                      public: // << ez most public!
                      float tomb[3][3];
                      };
                      int main(void){
                      Valami objektum;
                      // ….

                      int i,j;
                      for( i=0; i<3; i++){
                      for(j=0; j<3; j++)
                        std::cout << objektum.tomb[I][j] << " ";
                      std::cout << std::endl;
                      }
                      }

                      2. modszer: Mivel ha publikussa tesszuk az adatokat, nincs ertelme osztalyt hasznalni, szoval lassuk hogyan irathatunk ki privat adatokat. Az otlet az, hogy kilon metodust ertelmezunk az osztalyon belul, mely kiirja az adatokat.

                      Code:
                      #include

                      class Valami {
                      private:
                      float tomb[3][3];
                      public:
                      void kiir(void);
                      };

                      void Valami::kiir(void){
                      int i,j;
                      for( i=0; i<3; i++){
                      for(j=0; j<3; j++)
                        std::cout << tomb[I][j] << " ";
                      std::cout << std::endl;
                      }
                      }

                      int main(void){
                      Valami objektum;
                      // ….
                      objektum.kiir();
                      }

                      3. modszer: Az << operator ujraertelmezese.

                      Code:
                      #include

                      class Valami {
                      private:
                      float tomb[3][3];
                      public:
                      // ez kellenifog
                      float adjelemet(int i,int j) const {
                        return tomb[I][j];
                      }
                      };

                      // nincs kedvem std:: -t irni sokszor
                      using namespace std;

                      // ennek a fuggvenynek ismerjuk a parametereit
                      ostream& operator << (ostream& os, const Valami& s){
                      int i,j;
                      for( i=0; i<3; i++){
                      for(j=0; j<3; j++)
                        os << s.adjelemet(i,j) << " ";
                      os << std::endl;
                      }
                      return os;
                      }

                      int main(void){
                      Valami objektum;
                      // ….
                      // kiirhatjuk, mint egy "atlagos" valtozot
                      cout << objektum;
                      }

                      Hozzászólás: matrix osztaly osszeadasra #2154768
                      zoltan22
                      Felhasználó

                        Vigyazat, offolok.
                        Lassuk, hogyan lehetne egy osztalyban levo tombot kiiratni.

                        1. modszer: Lusta embereknek, es akiket nem zavar hogy ganyolnak, es az objektumok elszigetelesenek az elvet megszegik:

                        1.a. printf -vel:

                        Code:
                        #include

                        class Valami {
                        public: // << ez most public!
                        float tomb[3][3];
                        };
                        int main(void){
                        Valami objektum;
                        // ….

                        int i,j;
                        for( i=0; i<3; i++){
                        for(j=0; j<3; j++)
                          printf( "%f ", objektum.tomb[I][j]);
                        printf("n");
                        }
                        }

                        1.b. cout-al:

                        Code:
                        #include

                        class Valami {
                        public: // << ez most public!
                        float tomb[3][3];
                        };
                        int main(void){
                        Valami objektum;
                        // ….

                        int i,j;
                        for( i=0; i<3; i++){
                        for(j=0; j<3; j++)
                          std::cout << objektum.tomb[I][j] << " ";
                        std::cout << std::endl;
                        }
                        }

                        2. modszer: Mivel ha publikussa tesszuk az adatokat, nincs ertelme osztalyt hasznalni, szoval lassuk hogyan irathatunk ki privat adatokat. Az otlet az, hogy kilon metodust ertelmezunk az osztalyon belul, mely kiirja az adatokat.

                        Code:
                        #include

                        class Valami {
                        private:
                        float tomb[3][3];
                        public:
                        void kiir(void);
                        };

                        void Valami::kiir(void){
                        int i,j;
                        for( i=0; i<3; i++){
                        for(j=0; j<3; j++)
                          std::cout << tomb[I][j] << " ";
                        std::cout << std::endl;
                        }
                        }

                        int main(void){
                        Valami objektum;
                        // ….
                        objektum.kiir();
                        }

                        3. modszer: Az << operator ujraertelmezese.

                        Code:
                        #include

                        class Valami {
                        private:
                        float tomb[3][3];
                        public:
                        // ez kellenifog
                        float adjelemet(int i,int j) const {
                          return tomb[I][j];
                        }
                        };

                        // nincs kedvem std:: -t irni sokszor
                        using namespace std;

                        // ennek a fuggvenynek ismerjuk a parametereit
                        ostream& operator << (ostream& os, const Valami& s){
                        int i,j;
                        for( i=0; i<3; i++){
                        for(j=0; j<3; j++)
                          os << s.adjelemet(i,j) << " ";
                        os << std::endl;
                        }
                        return os;
                        }

                        int main(void){
                        Valami objektum;
                        // ….
                        // kiirhatjuk, mint egy "atlagos" valtozot
                        cout << objektum;
                        }

                      10 bejegyzés megtekintése - 941-950 / 2,516