VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 569|回复: 0

[讨论] 【笔记】C++结构体 和类

[复制链接]
43_avatar_middle
在线会员 发表于 2016-7-18 14:00:33 | 显示全部楼层 |阅读模式
  1. #include <iostream>
  2. using namespace std;

  3. struct father
  4. {
  5.     /*
  6.     virtual bool set() = 0;
  7.     virtual bool get() = 0;
  8.     */
  9.      
  10.     virtual bool set(int a, int b) = 0;
  11.     virtual bool get(int a, int *b) = 0;
  12.      
  13. };
  14. struct jack :public father
  15. {
  16.     int x;
  17.     int y;
  18.     bool set(int a, int b);
  19.     bool get(int a,int *p);

  20. };

  21. struct mack :public father
  22. {
  23.     int x;
  24.     int y;
  25.     bool set(int a, int b);
  26.     bool get(int a, int *p);
  27. };

  28. struct mackson :public mack
  29. {
  30.     int x;
  31.     int y;
  32.     bool set(int a, int b);
  33.     bool get(int a, int *p);
  34. };
  35. bool jack::set(int a, int b)
  36. {
  37.     x = a;
  38.     y = b;
  39.     if (a == x && b == y)
  40.         return true;
  41.     else
  42.         return false;
  43. }
  44. bool jack::get(int a,int *p)
  45. {
  46.     if (0 == a)
  47.     {
  48.         p = &x;
  49.         return true;
  50.     }
  51.     else if (1 == a)
  52.     {
  53.         p = &y;
  54.         return true;
  55.     }
  56.     else
  57.         return false;
  58. }

  59. bool mack::set(int a, int b)
  60. {
  61.     x = a;
  62.     y = b;
  63.     if (a == x && b == y)
  64.         return true;
  65.     else
  66.         return false;
  67. }
  68. bool mack::get(int a, int *p)
  69. {
  70.     if (0 == a)
  71.     {
  72.         p = &x;
  73.         return true;
  74.     }
  75.     else if (1 == a)
  76.     {
  77.         p = &y;
  78.         return true;
  79.     }
  80.     else
  81.         return false;
  82. }

  83. bool mackson::set(int a, int b)
  84. {
  85.     x = a;
  86.     y = b;
  87.     if (a == x && b == y)
  88.         return true;
  89.     else
  90.         return false;
  91. }
  92. bool mackson::get(int a, int *p)
  93. {
  94.     if (0 == a)
  95.     {
  96.         p = &x;
  97.         return true;
  98.     }
  99.     else if (1 == a)
  100.     {
  101.         p = &y;
  102.         return true;
  103.     }
  104.     else
  105.         return false;
  106. }

  107. int main()
  108. {
  109.      
  110.     father *p1;
  111.     int a=0;
  112.     bool (father::*pf)(int a, int b) = 0;
  113.     bool (father::*pb)(int a, int *b) = 0;

  114.     p1 = new jack;

  115.     pf = &father::set;
  116.     pb = &father::get;

  117.     (p1->*pf)(5,6);
  118.     (p1->*pb)(1, &a);
  119.     cout << a << endl;



  120.     return 0;
  121. }
复制代码



这是 C++结构体 实现的 重载,多重继承,多态,虚基类,抽象类,类成员指针
主要是为了 让大家更好认识C++结构体和类的区别

看到此贴感觉太小儿科 请高抬贵手 千万别骂。右上角就行吧。。


交流学习QQ:201886989  验证:论坛




上一篇:【笔记】Qt4.8.5 Creator+MinGW安装与配置
下一篇:set基本用法
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-6-19 03:56

Powered by Discuz! X3.4

© 2009-2019 cctry.com

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