Lecture Notes for Advanced Programming II

24 April 2003 - Handling Missing Member Functions


Outline


The Missing Function Problem


Handling Missing Functions


Wrapping Whole Classes


A Whole Class Wrapped

$ cat t.cc
class wrapped_turtle {
  public:
    wrapped_turtle(const string & s) 
      : t(s) { }

    void draw(unsigned i) { t.draw(i); }

    wrapped_turtle * clone(void) {
      return new wrapped_turtle(*this);
      }

  private:
    turtle t;
  };

int main() {
  wrapped_turtle 
    * wt1p = new wrapped_turtle("+[-ff]"),
    * wt2p = wt1p->clone();
  }


$ g++ -o t -ansi -pedantic -Wall t.cc

$ ./t

$ 


Problems With Whole-Class Wrapping


Whole-Class Dependencies


Wrap Missing Functions


Template Specialization


Specialized Template Matching


Function Wrapping, Step 1


Function Wrapping, Step 2


Points to Remember


This page last modified on 22 April 2003.