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);