C++ 类:实体的抽象类型

实体(属性,行为) ->ADT(abstract data type)

类(属性->成员变量,行为->成员方法)

OOP语言4大特征

抽象 封装/隐藏(通过public private protected) 继承 多态

点击查看代码
class Student{
//属性一般都是私有的成员变量
private:
char NAME[20];
int age; //提供给外部的公有方法
public: //在类体内实现方法,自动实现成内联方法
void setAge(int _age){
this.age=_age;
}
void setName(const char * _name){
strcpy(NAME,_name); }
int getAge(){
return age;
}
const char * getName(){
return NAME;
}
}

Student类可以定义无数个对象,每个对象都有自己的属性,但是这些对象共享一套方法

Student stu;

stu.setAget(20);

实际上是

setAge(&stu,20);//把这个student对象的地址传递给了setAge()方法

所以编译器在编译完成后所有的成员方法都会加上this指针,用来接收调用对象的地址,例如setAge(int age) 方法会变成setAge(Student *this,int age);

最新文章

  1. Html5 简单选择排序演示
  2. 学Android开发,入门语言java知识点
  3. tmux常用命令
  4. golang csv问题
  5. sizeToFit()使用心得
  6. Cocos2d-JS轻量级开发
  7. Java学习日志-01-Hello World
  8. gif修改背景透明
  9. 开涛spring3(1) - Spring概述
  10. New UWP Community Toolkit - RadialProgressBar
  11. 5个强大的Java分布式缓存框架
  12. k8s 关键字以及管理流程。
  13. SP10707 COT2 - Count on a tree II 莫队
  14. Transaction Check Error:file /usr/libexec/getconf/default conflicts between attempted installs of gcc-6.4.1-1.fc25.i686 and gcc-6.4.1-1.fc25.x86_64
  15. 各种蕴含算法思想的DP - 2
  16. 记踩坑--Flask Web开发:S6电子邮件 ----[Errno 11004] getaddrinfo failed
  17. CodeForces 569B Inventory 货物编号
  18. 进程池(Pool)
  19. 2019 rode of my LeetCode
  20. typedef struct bit0 : 1

热门文章

  1. 深入理解 Spring 事务:入门、使用、原理
  2. 轻松月薪过万,NISP证书含金量有多重|NISP管理中心|网安伴|nisp
  3. 1.1_selenium+Python自动化测试大纲
  4. rh358 001 Linux网络与systemd设置
  5. 《HelloGitHub》第 77 期
  6. 【设计模式】Java设计模式 - 动态代理
  7. HDFS 伪分布式环境搭建
  8. KingbaseES V8R3 备份恢复案例之--单实例环境sys_rman脚本备份案例
  9. KingbaseES R6 集群备库网卡down测试案例
  10. KingbaseES R3 集群pcp_attach_node 更新show pool_nodes中节点状态