飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1976|回复: 1

编程马拉松(14)认识:类

[复制链接]

该用户从未签到

发表于 2007-8-27 08:02:53 | 显示全部楼层 |阅读模式

  1. freesoft:C++
  2. //从类:class开始,真正的面向对像的程序。
  3. //class和struct有很多共同点。但也要注意区别。引用一个网上的例子说明一下。
  4. #include <iOStream>  
  5. #include <string>  
  6. using namespace std;   
  7. class Teacher  
  8. {  
  9. public:  //这里要声明为公有,class默认是private私有.
  10.     Teacher()  //构造函数。有点像NEW
  11.     {  
  12.         director = new char[10];  
  13.         strcpy(director,"王大力");  
  14.      }  
  15.     ~Teacher()  //析构函数。有点像delete
  16.     {  
  17.         cout<<"释放堆区director内存空间1次"<<endl;  
  18.         delete[] director;  
  19.      }  
  20.     char *show();  
  21. protected:  //保护类型
  22.     char *director;  
  23.       
  24. };  
  25. char *Teacher::show()  //通过Teacher类内函数反回director地址
  26. {  
  27.     return director;  
  28. }  
  29. class Student  
  30. {  
  31. public:  
  32.     Student()  
  33.     {  
  34.         number = 1;  
  35.         score = 100;  
  36.     }  
  37.     void show();  
  38.   
  39. protected:  
  40.     int number;  
  41.     int score;  
  42.     Teacher teacher;  //通过Teacher类定义teacher
  43.   
  44. };  
  45.   
  46. void Student::show()  //通过Student定义show函数体。
  47. {  
  48.     cout<<teacher.show()<<endl
  49.                 <<number<<endl
  50.                 <<score<<endl;  
  51. }  
  52. void main()  
  53. {  
  54.     Student a;  
  55.     a.show();  
  56.     Student b[5];  
  57.     for(int i=0; i<sizeof(b)/sizeof(Student); i++) // 如果把这里,标注起来。看看结果。
  58.     {  
  59.         b[i].show();  
  60.                 cout<<"次数:"<<i<<endl;
  61.     }  
  62.       
  63. }
  64. //这段程序的目的是为了让他大家认识一下,类了一些基本的应该用。
复制代码
PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    前天 20:08
  • 签到天数: 432 天

    [LV.9]以坛为家II

    发表于 2007-8-27 14:10:58 | 显示全部楼层
    这个系列看起来不错
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表