发布时间:2022-11-06 文章分类:编程知识 投稿人:王小丽 字号: 默认 | | 超大 打印

C++ 类:实体的抽象类型
实体(get="_blank">属性,行为) ->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);