Für Vorlesungen, bitte die Webseite verwenden. https://flavigny.de/lecture
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
595B

  1. #include <iostream>
  2. class Function {
  3. public:
  4. virtual ~Function () {};
  5. virtual int operator() (int) = 0;
  6. };
  7. class Inkrementierer : public Function {
  8. public:
  9. Inkrementierer (int n) {inkrement = n;}
  10. int operator() (int n) {return n+inkrement;}
  11. private:
  12. int inkrement;
  13. };
  14. void schleife (Function& func) {
  15. for (int i=1; i<10; i++)
  16. std::cout << func(i) << " ";
  17. std::cout << std::endl;
  18. }
  19. class Quadrat : public Function {
  20. public:
  21. int operator() (int n) {return n*n;}
  22. } ;
  23. int main () {
  24. Inkrementierer ink(10);
  25. Quadrat quadrat;
  26. schleife (ink);
  27. schleife (quadrat);
  28. }