扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:谢启东编译 来源:天极开发 2007年11月12日
关键字:
generic <typename T> public ref class Vector { int length; /*1*/ array<T>^ vector; public: property int Length { int get() { return length; } private: void set(int value) { length = value; } } /*2*/ property T default[int] { T get(int index) { return vector[index]; } void set(int index, T value) { vector[index] = value; } } Vector(int vectorLength, T initValue) { Length = vectorLength; vector = gcnew array<T>(Length); for (int i = 0; i < Length; ++i) { /*3*/ this[i] = initValue; } /*4*/ //for each (T element in vector) //{ // element = initValue; //} } Vector(int vectorLength) { Length = vectorLength; vector = gcnew array<T>(Length); for (int i = 0; i < Length; ++i) { /*5*/ this[i] = T(); } } Vector() { Length = 0; /*6*/ vector = gcnew array<T>(0); } ~Vector() //多余的 { /*7*/ vector = nullptr; } virtual String^ ToString() override { String^ s = "["; int i; for (i = 0; i < Length - 1; ++i) { /*8*/ s = String::Concat(s, this[i], ":"); } /*9*/ s = String::Concat(s, this[i], "]"); return s; } virtual bool Equals(Object^ obj) override { if (obj == nullptr) { return false; } if (this == obj) //在测试自身吗? { return true; } /*10*/ if (GetType() == obj->GetType()) { Vector<T>^ v = static_cast<Vector^>(obj); if (Length != v->Length) //是否向量有不同的长度? { return false; } for (int i = 0; i < Length; ++i) { /*11*/ //if (this[i] != v[i]) if (this[i]->Equals(v[i]) == false) { return false; } } return true; } return false; } /*12*/ virtual int GetHashCode() override { return 0; } }; |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者