C++ kerdes…

Kezdőlap Fórumok Programozás C++ kerdes…

10 bejegyzés megtekintése - 31-40 / 64
  • Szerző
    Bejegyzés
  • #2155470
    pointux
    Felhasználó
      kisbetu wrote:
      Nem értek hozzá, de egy floatra definiált függvény miért ad vissza double értéket?

      De bizony float-ot ad vissza… automatikusan „kerekít”, ugyanis.

      #2155471
      pointux
      Felhasználó
        kisbetu wrote:
        Nem értek hozzá, de egy floatra definiált függvény miért ad vissza double értéket?

        De bizony float-ot ad vissza… automatikusan „kerekít”, ugyanis.

        #2155472
        jules
        Felhasználó

          Amugy, hogyan kellene definialni egy ilyen (float * vector) muveletet?

          Amit irtam fent, az nem jo szerintem, mert csak a vector x komponensevel szorozza a matrixot, nem?

          #2155473
          pointux
          Felhasználó
            jules wrote:
            akkor ez nyilvan nem jo, mert egy vector tipusu dolgot probalok float tipusuba konvertalni es a szorzas muvelete sincs definialva, hogy kezelheto legyen a (float * vector) muvelet.

            Hogy lehetne ezt a problemat megoldani?

            Az „operator*”-t függvényt úgy definiálod, hogy az egyik várt paramétere vektor, a másik float legyen (illetve fordítva (is)).
            A függvény kifejtésében meg lefuttatsz egy ciklust, melyben a vektor minden eleme – egyenként – meg lesz szorozva az adott float típusú számmal.
            (Innentől automatikusan ez a függvény fog meghívódni, az ilyen esetekben. ;))

            #2155474
            pointux
            Felhasználó
              jules wrote:
              akkor ez nyilvan nem jo, mert egy vector tipusu dolgot probalok float tipusuba konvertalni es a szorzas muvelete sincs definialva, hogy kezelheto legyen a (float * vector) muvelet.

              Hogy lehetne ezt a problemat megoldani?

              Az „operator*”-t függvényt úgy definiálod, hogy az egyik várt paramétere vektor, a másik float legyen (illetve fordítva (is)).
              A függvény kifejtésében meg lefuttatsz egy ciklust, melyben a vektor minden eleme – egyenként – meg lesz szorozva az adott float típusú számmal.
              (Innentől automatikusan ez a függvény fog meghívódni, az ilyen esetekben. ;))

              #2155475
              jules
              Felhasználó

                huh, expliciten/kodban le irnad ide, hogy mire gondolsz!

                #2155476
                jules
                Felhasználó

                  huh, expliciten/kodban le irnad ide, hogy mire gondolsz!

                  #2155477
                  jules
                  Felhasználó

                    Ezzel a definialassal gondja van a forditonak:

                    Code:
                    struct vector
                    {
                        float x, y, z;

                        vector operator*(const vector &a, float c){
                        vector temp;
                        temp.x = a.x * c;
                        temp.y = a.y * c;
                        temp.z = a.z * c;
                        return(temp);
                        }

                        vector operator*(float c, const vector &b){
                        vector temp;
                        temp.x = b.x * c;
                        temp.y = b.y * c;
                        temp.z = b.z * c;
                        return(temp);
                        }

                    };

                    Mi ezzel a baj?

                    #2155478
                    jules
                    Felhasználó

                      Ezzel a definialassal gondja van a forditonak:

                      Code:
                      struct vector
                      {
                          float x, y, z;

                          vector operator*(const vector &a, float c){
                          vector temp;
                          temp.x = a.x * c;
                          temp.y = a.y * c;
                          temp.z = a.z * c;
                          return(temp);
                          }

                          vector operator*(float c, const vector &b){
                          vector temp;
                          temp.x = b.x * c;
                          temp.y = b.y * c;
                          temp.z = b.z * c;
                          return(temp);
                          }

                      };

                      Mi ezzel a baj?

                      #2155479
                      kisbetu
                      Felhasználó

                        Nem látom, mit definiál a definíció. Hogy kéne hívják a függvényedet?

                      10 bejegyzés megtekintése - 31-40 / 64
                      • Be kell jelentkezni a hozzászóláshoz.