⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.cpp

📁 Vc.Net入门与提高源码
💻 CPP
字号:
#using <mscorlib.dll>
using namespace System;
__gc class PhoneNumber {
public:
PhoneNumber(int AreaCode, int ThreeDigits, int FourDigits) 
{
   _AreaCode = AreaCode; 
   _ThreeDigits = ThreeDigits; 
   _FourDigits = FourDigits;
}
private:
   int _AreaCode;
   int _ThreeDigits;
   int _FourDigits;
};
__gc class Employee {
public:
   Employee(String * s, PhoneNumber * p) {_name = s; _phonenumber = p;};
   __property String * get_name() {return _name;}
   __property PhoneNumber * get_number() {return _phonenumber;}
protected:
   String * _name;
   PhoneNumber * _phonenumber;
};
__gc class Manager {
public:
   // EmpList * getreports() const {return Reports;};
   __property Employee * get_Report(String * s) { 
      for(pEmp = Reports; pEmp && (pEmp -> emp -> name != s); 
          pEmp = pEmp -> next);
      if (pEmp) return pEmp -> emp; else return 0;
   }
   __property Employee * get_Report(PhoneNumber * p) {
      for(pEmp = Reports; pEmp && (pEmp -> emp -> number != p); 
          pEmp = pEmp -> next);
      if (pEmp) return pEmp -> emp; else return 0;
   }
   __property void set_Report(String* s, Employee* e) { 
      for(pEmp = Reports; pEmp && (pEmp -> emp -> name != s); 
          pEmp = pEmp -> next);
      if (!pEmp) {
         EmpList * emp1 = new EmpList; 
         emp1 -> emp = e; 
         emp1 -> next = Reports; 
         Reports = emp1;
      }
   }
   /*   Employee* Report[ String* ]; */       //假的数组成员
   __property void set_Report(PhoneNumber * p, Employee* e) { 
      for(pEmp = Reports; pEmp && (pEmp -> emp -> number != p); 
          pEmp = pEmp -> next);
      if (!pEmp)  {
         EmpList * emp1 = new EmpList; 
         emp1 -> emp = e; 
         emp1 -> next = Reports; 
         Reports = emp1;
      }
   };
private:
   __gc struct EmpList {
      Employee * emp;
      EmpList * next;
   };
   EmpList * pEmp;
   static EmpList * Reports = 0;
};
int main() {  
   Manager*  Ed = new Manager;
   PhoneNumber * p1 = new PhoneNumber(425, 555, 1111);
   PhoneNumber * p2 = new PhoneNumber(206, 555, 1111);
   Employee* Bob = new Employee(S"Bob Smith", p1); 
   Employee* Gus = new Employee(S"Gus Jones", p2);
   Ed->Report[ Bob->name ] = Bob;   // 按照 String*索引
   Ed->Report[ Gus->number ] = Gus;   //根据PhoneNumber*索引Console::WriteLine(Ed->Report[ Bob->number ] -> name);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -