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

📄 test_manager.c

📁 c语言是面向过程的程序语言
💻 C
字号:
/* ****************************** * Object Oriented Programming in C * * Author: Laurent Deniau, Laurent.Deniau@cern.ch * * For more information, please see the paper: * http://home.cern.ch/ldeniau/html/oopc/oopc.html * ****************************** */#include <stdio.h>#include <manager.h>/* polymorphism example */void print_person(t_person const* per){  sendMsg(per, print);}intmain(void){  t_person   *per = person  .new("Brown");  t_employee *emp = employee.new("Smith", "Cars");  t_manager  *mng = manager .new("Collins", "Trucks","PhD @ CMU",2);  printf("\nList of persons:\n");  print_person(per);  print_person(super(emp,person));  print_person(super(mng,employee.m.person));  printf("\nSize of objects:\n");  printf("sizeof(manager)   = %d\n", sizeof(t_manager));  printf("sizeof(employee)  = %d\n", sizeof(t_employee));  printf("sizeof(person)    = %d\n", sizeof(t_person));  printf("sizeof(education) = %d\n", sizeof(t_education));#ifdef DEBUG_OBJ  /* Not present in C++ equivalent file */  printf("\nCollins object description:\n");  ooc_printObjInfo(stdout, mng);  printf("\nDynamic cast example1:\n");  ooc_printObjInfo(stdout, dynamic_cast(super(mng,employee.m.person), education));  printf("\nDynamic cast example2:\n");  ooc_printObjInfo(stdout, dynamic_cast(super(mng,education), person));  printf("\nManager class description:\n");  ooc_printClassInfo(stdout, mng);#endif  delete(per);  delete(emp);  delete(mng);  DEBUG_DISPMEM(stderr);  return EXIT_SUCCESS;}

⌨️ 快捷键说明

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