Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

konstruktor kopiujacy

Ostatnio zmodyfikowano 2009-05-20 18:53
Autor Wiadomość
gorgh
Temat założony przez niniejszego użytkownika
konstruktor kopiujacy
» 2009-05-20 17:29:27
1.Mam maly problem z konstruktorem kopiujacym.Ponizszy program dziala dobrze dopiero gdy usunie sie z niego rzeczony konstruktor.Glownym "uzytkownikiem"
domyslnego KK jest "funkcja", ktora pobiera i zwraca objekt przez wartosc,
czemu wiec domyslny konstruktor sie w tym wypatku sprawdza, a zdefiniowany juz nie? gorgh


C/C++
#include <iostream>
using namespace std;

class prosta
{
    int r;
public:
    prosta( int a )
        : r( a )
    { }
    prosta( prosta & a ) { r = a.r; }
    int pobierz() { return r; };
} prosta1( 11 ), prosta2( 1 );

prosta funkcja( prosta rzecz )
{
    return rzecz; };

const prosta & funkcja2( const prosta & object )
{
    return object;
};
int main()
{
    funkcja2( funkcja( prosta1 ) );
    return 0;
}


:: Pietrzuch :: http://forum.ddt.pl/?Tid=622
P-7061
DejaVu
» 2009-05-20 18:53:10
Nie za bardzo zrozumiałem o co chodzi... w każdym razie konstruktor kopiujący powinien wyglądać tak:
C/C++
prosta::prosta( const prosta & a )
    : r( a.r )
{
}
P-7066
« 1 »
  Strona 1 z 1