SORU
31 Ocak 2010, Pazar


Nasıl bu C olmayan copyable nesne yapabilirim?

Başlık bakın.

Var:

class Foo {
   private:
     Foo();
   public:
     static Foo* create();
}

Ben buradan Foo un-copyable yapmak için ne lazım?

Teşekkürler!

CEVAP
31 Ocak 2010, Pazar


class Foo {
   private:
     Foo();
     Foo( const Foo& other ); // non construction-copyable
     Foo& operator=( const Foo& ); // non copyable
   public:
     static Foo* create();
}

Eğer boost kullanıyorsanız, aynı zamanda noncopyable devralır : http://www.boost.org/doc/libs/1_41_0/boost/noncopyable.hpp

EDİT: eğer derleyici bu özelliği destekleyen varsa C 11 sürüm:

class Foo {
   private:
     Foo();
     Foo( const Foo& other ) = delete; // non construction-copyable
     Foo& operator=( const Foo& ) = delete; // non copyable
   public:
     static Foo* create();
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
C++

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kev5124

    kev5124

    9 Kasım 2008
  • merumputdotcom

    merumputdotc

    24 ŞUBAT 2012
  • SRT Photoshop Tutorials

    SRT Photosho

    19 Aralık 2012