扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Adding 来源:YESKY 2007年11月16日
关键字:
__gc class G { public: int k; int sum(int); }; G::sum(int i) {return i*(i + 1)/2;} int main() { G * g = new G; Console::WriteLine(g->sum(4)); // 结果输出10 return 0; } |
#using using namespace System; __value struct V { int i; }; __gc struct G { V v; }; // 嵌入到__gc类中 V f(V v) { // 定义一个全局函数,其值存储在运行栈中 v.i += 1; // 不影响原来形参v的值 return v; // 返回V结构类型的值 } int main(void) { V v1 = {10}; // 在运行栈中声明并初始化 V v2 = f(v1); // 调用f函数,此时v1中的i为10,而v2中的i为11 G *pG = new G; // 为G实例分配堆空间 pG->v = v1; // pG的v中的i为10 pG->v.i += v2.i; // pG的v中的i为10+11=21 Console::WriteLine(v1.i); // 输出结果为10 Console::WriteLine(v2.i); // 输出结果为11 Console::WriteLine(pG->v.i); // 输出结果为21 return 0; } |
__gc __interface Ibase { void f(); }; |
#using using namespace System; __gc __interface Ibase1 { int f(int); }; __gc __interface Ibase2 { int f(int); }; __gc struct C: Ibase1, Ibase2 { int f(int i) { // 接口方法的实现 return 2*i-1; }; }; int main(void){ C* c = new C; Console::WriteLine((c -> f(1)).ToString()); // 输出结果为1 Console::WriteLine((__try_cast // 输出结果为3 Console::WriteLine((__try_cast // 输出结果为5 return 0; } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者