科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件实例解析C++/CLI中的继承与枚举

实例解析C++/CLI中的继承与枚举

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文中,将要介绍与继承相关的C++/CLI主题,并以现实生活中银行交易的三种形式:存款、取款、转账,来说明类的继承体系,且以一种新的枚举形式来实现。

作者:谢启东编译 来源:天极开发 2007年11月12日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
数组与继承

  每个CLI数组类型隐式继承自抽象引用类型System::Array,另外,数组的某些成员属性也继承自这个基类,所以当使用一个CLI数组时,便可访问到数组及对象的每个公有成员,见例8,插3是对应的输出。数组的成员函数在此是直接调用的。

  例8:

using namespace System;

generic<typename T>
void Display1DArray(String^ text, array<T>^ ary)
{
 if (ary == nullptr)
 {
  Console::WriteLine("nullptr passed");
  return;
 }
 Console::Write("{0} {1}:", text, ary->Length);
 for each (T element in ary)
 {
  Console::Write(" {0}", element);
 }
 Console::WriteLine();
}
int main()
{
 array<int>^ numbers = gcnew array<int>{10, 75, 23, 18, 53, 18};
 Display1DArray("numbers, original", numbers);

 /*1*/ Console::WriteLine("IndexOf(18) {0}", Array::IndexOf(numbers, 18));

 /*2*/ Console::WriteLine("LastIndexOf(18) {0}",
 Array::LastIndexOf(numbers, 18));
 /*3*/ Array::Sort(numbers);
 Display1DArray("numbers, sorted ", numbers);

 /*4*/ Console::WriteLine("BinarySearch(23) {0}",
 Array::BinarySearch(numbers, 23));
 /*5*/ Array::Reverse(numbers);
 Display1DArray("numbers, reversed", numbers);

 array<int>^ numbers2 = gcnew array<int>(4);

 /*6*/ Array::Copy(numbers, numbers2, numbers2->Length);
 Display1DArray("numbers2 ", numbers2);
 
 /*7*/ Array::Clear(numbers, 1, 4);
 Display1DArray("numbers, cleared ", numbers);
}

  插3:例8的输出

numbers, original 6: 10 75 23 18 53 18
IndexOf(18) 3
LastIndexOf(18) 5
numbers, sorted 6: 10 18 18 23 53 75
BinarySearch(23) 3
numbers, reversed 6: 75 53 23 18 18 10
numbers2 4: 75 53 23 18
numbers, cleared 6: 75 0 0 0 0 10
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章