首页 > 其他分享 ><一>类,对象,this指针

<一>类,对象,this指针

时间:2022-11-06 22:23:15浏览次数:40  
标签:对象 age setAge int Student 方法 指针

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

标签:对象,age,setAge,int,Student,方法,指针
From: https://www.cnblogs.com/erichome/p/16849886.html

相关文章

  • 深入理解参数-@Param和 对象作为参数重要
    深入理解参数1.parameterTypeparameterType:接口中方法参数的类型,类型的完全限定名或别名。这个属性是可选的,因为MyBatis可以推断出具体传入语句的参数,默认值为未设......
  • 面向对象
    目录一、面向对象概念引入(人狗大战)人狗大战简介推导步骤1:代码定义出人和狗推导步骤2:将产生人和狗的字典封装成函数并封装人和狗的攻击函数推导步骤3:人和狗的攻击混乱二......
  • java 使用序列化写出或者读取对象
    进行写出前,建议在pojo类中,定义属性“serialVersionUID“,否则对象以后要更改或添加属性时,再读取原来的文件会报错例如下面实体类publicclassRenimplementsSerializa......
  • 实验四 类与数组、指针
    一.实验任务1-4总结:通过完成实验任务1-4,我对深复制和浅复制有了更加深刻的印象,加深对指针、引用作为形参用法的理解,理解了参数传递的过程。二.实验任务51.源代码:(1)vecto......
  • Java学习笔记day5--面向对象的三条学习主线
    1.类及类的成员属性,方法;构造器,代码块,内部类2.面向对象编程的三大特征封装性继承性多态性3.其他关键字publicprivateprotected缺省pa......
  • c原因学习---指针作为函数的形参
     指针作为函数的形参,可以改变实参的值。#include<stdio.h>//交换两个变量的值intswap(intx,inty){intk=y;y=x;x=k;printf("xi......
  • C语言学习---星花与取地址&----以及多级指针
    #include<stdio.h>intmain{//对一个表达式加*,就会对表达式减一级星花*,//如果对表达式取&,就会加一级*int*p;int**q;q......
  • 实验四 类与数组、指针
    point1.hpp1#pragmaonce23#include<iostream>4usingstd::cout;5usingstd::endl;67classPoint{8public:9Point():x{0},y{0}{}10......
  • python基础之面向对象
    python基础之面向对象面向对象前戏之人狗大战"""编写代码简单的实现人打狗,狗咬人的小游戏(剧情需要,人与狗是好朋友)"""#推导步骤1:代码定义出人和狗person1={'name......
  • JAVA的File对象
    文件1.File对象  java封装的一个操作文件及文件夹(目录)的对象。可以操作磁盘上的任何一个文件和文件夹。2.创建文件 方式一:根据路径构建一个File对......