当前位置: 首页 > news >正文

关键词免费网站免费建立教育网站

关键词免费网站,免费建立教育网站,小游戏制作软件,天眼查个人信息文章目录 封装继承多态 封装 封装是把一个抽象的事物的属性以及对应的操作打包到一个类中#xff0c;通过内部的方法来改变内部的状态#xff0c;封装的本质是在隐藏信息#xff0c;使得对象内部的状态不轻易被外界访问和利用。 但是c语言没有类的概念#xff0c;c语言实… 文章目录 封装继承多态 封装 封装是把一个抽象的事物的属性以及对应的操作打包到一个类中通过内部的方法来改变内部的状态封装的本质是在隐藏信息使得对象内部的状态不轻易被外界访问和利用。 但是c语言没有类的概念c语言实现封装可以使用结构体来实现。 #includestdio.h #includestring.h #includestdlib.h typedef struct human{int age;char sex[10];void (*set_age)(struct human *p,int age);int (*get_age)(struct human *p);void (*set_sex)(struct human *p,char* sex);char* (*get_sex)(struct human *p); }human;void set_age(human *p,int age){p-ageage; } int get_age(human *p){return p-age; }void set_sex(human *p,char* sex){strcpy(p-sex,sex);//p-sexsex; } char* get_sex(human *p){return p-sex; }int main(){human p{18,female,set_age,get_age,set_sex,get_sex};printf(年龄%d\n,p.get_age(p));printf(性别%s\n,p.get_sex(p));p.set_age(p,19);p.set_sex(p,male);printf(年龄%d\n,p.get_age(p));printf(性别%s\n,p.get_sex(p));}定义一个human的结构体结构体具有两个属性为age和sex有两组方法分别为设置输入与获取的方法。 继承 继承是基于一个已有的类父类再创建一个新的类子类新的类可以访问父类的属性和动作从而避免重复编写代码。需要注意的是父类需要放在子类的数据结构的第一个数据成员。子类可以有自己的属性。 在c语言中可以使用结构体嵌套的方法实现类的继承单继承。 #includestdio.h #includestring.h #includestdlib.h typedef struct human{int age;char sex[10];void (*set_age)(struct human *p,int age);int (*get_age)(struct human *p);void (*set_sex)(struct human *p,char* sex);char* (*get_sex)(struct human *p); }human;typedef struct person{human p;char name[10]; }person;void set_age(human *p,int age){p-ageage; } int get_age(human *p){return p-age; }void set_sex(human *p,char* sex){strcpy(p-sex,sex);//p-sexsex; } char* get_sex(human *p){return p-sex; }person * create_person(int age,char* sex, char* name){person* per(person*)malloc(sizeof(person));per-p.ageage;strcpy(per-p.sex,sex);strcpy(per-name,name);return per; }int main(){person* per;percreate_person(18,male,Job);printf(年龄%d\n性别%s\n姓名%s\n,per-p.age,per-p.sex,per-name);}person继承了human中的两个属性使用结构体的嵌套可以实现c语言的继承。 多态 多态是面向对象编程中最为核心的概念它允许我们在不同的对象上执行相同的操作。 在c语言中可以使用函数指针利用同一个接口来处理不同的数据。具有不同的功能的函数可以使用同一个函数名从而实现一个函数名调用不同的功能函数。 #includestdlib.h #includestdio.h #includestring.htypedef struct{void (*draw)(void* shape); }Shape;typedef struct{Shape base;int x;int y;int r; }Circle;typedef struct{Shape base;int x1;int y1;int x2;int y2; }Line;void drawCircle(void* shape){Circle* circle(Circle*)shape;printf(Circle at(%d,%d)with radius %d\n,circle-x,circle-y,circle-r); }void drawLine(void *shape){Line* line(Line *)shape;printf(Line from(%d,%d)to(%d,%d)\n,line-x1,line-y1,line-x2,line-y2); }int main(){int i0;Circle circle{{drawCircle},0,0,1};Line line{{drawLine},0,0,1,1};Shape* shapes[2];shapes[0](Shape*)circle;shapes[1](Shape*)line;for(;i2;i) shapes[i]-draw(shapes[i]);return 0; }
http://wiki.neutronadmin.com/news/252294/

相关文章:

  • 南沙网站制作微信网站用什么做的
  • 乌兰察布网站制作国内免费服务器地址
  • 目标网站都有哪些内容花房姑娘在线影院
  • 如何弄公司网站询价报价单模板
  • 江苏建设信息网站淘宝官网首页下载
  • 做淘客网站注意事项php网站开发参考书籍
  • 杭州网站建设开发外包公司中国最厉害的营销策划公司
  • 渝水区城乡建设局网站怎样做网站备案
  • 北京网站建设公司 蓝纤科技 网络服务网页怎么打不开
  • 广州专业的免费建站百度快速排名优化工具
  • 记事本可以做网站吗网络黄页平台网址有哪些
  • 10种网络营销方法厦门seo关键词排名
  • 网站的功能包括哪些内容社交电商平台
  • 报名网站辽宁省建设银行科技网站配色
  • 镇江网站建设流程陕西省建设厅官网证件查询
  • 卖建材的网站有哪些一起来看在线观看免费
  • 网站建设采购合同验收做面食视频网站
  • 权威的手机网站建设上海装修设计公司
  • 网站安全建设目的是什么青岛品牌网站建设
  • 做企业展示型网站怎么做一个网上商城
  • 做网站基本步骤wordpress手机端适配
  • 会昌县城乡规划建设局网站dede网站收录
  • 加外链网站author 1 wordpress
  • 做的好的茶叶网站好永嘉县住房和城乡规划建设局网站
  • 东莞建设网站公司哪家好做彩票网站怎么样
  • 雏鸟短视频app软件下载网站网站打开速度多少时间
  • 企业网站策划案例淘宝不允许 网站建设
  • 网站建设大数据网站是做排行
  • 网站域名怎么快速备案购物网站网页设计
  • 有没有好的网站可以学做头发网站的三大标签