Delegate1.cpp
上传用户:sz0451
上传日期:2022-07-29
资源大小:256k
文件大小:1k
源码类别:

.net编程

开发平台:

Visual C++

  1. // This is the main project file for VC++ application project 
  2. // generated using an Application Wizard.
  3. #include "stdafx.h"
  4. #using <mscorlib.dll>
  5. using namespace System;
  6. __delegate double NumericOp(double);
  7. __gc class Ops
  8. {
  9. public:
  10.     static double square(double d)
  11.     {
  12.         return d*d;
  13.     }
  14.     static double cube(double d)
  15.     {
  16.         return d*d*d;
  17.     }
  18. };
  19. // This is the entry point for this application
  20. #ifdef _UNICODE
  21. int wmain(void)
  22. #else
  23. int main(void)
  24. #endif
  25. {
  26.     // Declare a delegate
  27.     NumericOp* pOp = new NumericOp(0, &Ops::square);
  28.     // Call the function through the delegate
  29.     double result = pOp->Invoke(3.0);
  30.     Console::WriteLine("Result is {0}", __box(result));
  31.     // Declare a second delegate
  32.     NumericOp* pOp2 = new NumericOp(0, &Ops::cube);
  33.     // Call the function through the delegate
  34.     double result2 = pOp2->Invoke(3.0);
  35.     Console::WriteLine("Result of cube() is {0}", __box(result2));
  36.     return 0;
  37. }