学生有一段程序不太懂,关于info2 prati.请教拉

#include <list>
using namespace std;

// Oberklasse LazyAktion
template <class T>
class LazyAktion
{
   public:
           LazyAktion( list<T>* ptLazyListe )
                  : p_ptLazyListe( ptLazyListe ) {}
      virtual ~LazyAktion() {}
      virtual void vAusfuehren() = 0;
   protected:
      list<T>*        p_ptLazyListe;        // Zeiger auf p_ListeObjekte
};


// LazyPushFront
template <class T>
class LazyPushFront : public LazyAktion<T>
{
   public:
      LazyPushFront(const T& einObjekt, list<T>* eineListe)
                      : LazyAktion<T>(eineListe)
                      , p_tObjekt(einObjekt) {}
      virtual ~LazyPushFront() {}
      void vAusfuehren() { p_ptLazyListe->push_front(p_tObjekt); }
   private:
      T        p_tObjekt;
};
看这一段  LazyAktion( list<T>* ptLazyListe )
                  : p_ptLazyListe( ptLazyListe ) {}相当于 { p_ptLazyListe= ptLazyListe}
p_ptLazyListe( ptLazyListe ) 这是什么玩意儿阿,变态老师让我们填写这个类定义,上面是他写的部分,我害怕有这种初始化方式,到底这可行吗?谢谢啦
Share |
Share

并没有定义这个函数,老师怎马能这么胡写啊?

TOP

#ifndef __LazyAktion_h
#define __LazyAktion_h

#include <list>
using namespace std;

// Oberklasse LazyAktion
template <class T>
class LazyAktion
{
   public:
      LazyAktion( list<T>* ptLazyListe )
          {
                  p_ptLazyListe=ptLazyListe;
          }
      virtual ~LazyAktion() {}
      virtual void vAusfuehren() = 0;
   protected:
      list<T>*        p_ptLazyListe;        // Zeiger auf p_ListeObjekte
};


// LazyPushFront
template <class T>
class LazyPushFront : public LazyAktion<T>
{
   public:
      LazyPushFront(const T& einObjekt, list<T>* eineListe)
                      : LazyAktion<T>(eineListe)
          {
                  p_tObjekt=einObjekt;
          }
      virtual ~LazyPushFront() {}
      void vAusfuehren() { p_ptLazyListe->push_front(p_tObjekt); }
   private:
      T        p_tObjekt;
};

我这么写吧,由他去吧,老是这种写法看不懂,算了

TOP

hehe ,今天没事了,关键是没发烧,欧就放心了

TOP

赫赫,困了。大家都还没睡。都挺强的,呵呵,哥们撑不住了,先睡了

TOP

呵呵

TOP

有理,c++要学的东西太多了

TOP