class_10:this关键字

这篇具有很好参考价值的文章主要介绍了class_10:this关键字。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

this关键字是指向调用对象的指针 

#include <iostream>
#include <iostream>
using namespace std;


class Car{
public:
    //成员数据
    string brand; //品牌
    int    year;  //年限

     //构造函数名与类名相同
    Car(string brand,int year){
        cout<<"构造函数中:"<<endl;
        cout<<this<<endl;
    }

    void realPrintCarInfo(); //声明成员函数
};

//"::" 类或者命名空间的解析符
void Car::realPrintCarInfo()  //在类的外部进行成员函数的实现
{
    string  str = "车的品牌" + brand
            + ",上市年限是" + std::to_string(year);
    cout << str<<endl;
}

int main()
{
    Car BMW3("宝马",2024);
    cout<<"main函数中:"<<endl;
    cout << &BMW3<<endl;
    cout << "======================"<<endl;
    Car BMW4("宝马",2024);
    cout<<"main函数中:"<<endl;
    cout << &BMW4<<endl;


    return 0;
}

class_10:this关键字,QT,c++,算法,开发语言

 

#include <iostream>
#include <iostream>
using namespace std;


class Car{
public:
    //成员数据
    string brand; //品牌
    int    year;  //年限

     //构造函数名与类名相同
    Car(string brand,int year){
        //cout<<"构造函数中:"<<endl;
        //cout<<this<<endl;

        this->brand = brand;
        this->year  = year;
    }

    void realPrintCarInfo(); //声明成员函数
};

//"::" 类或者命名空间的解析符
void Car::realPrintCarInfo()  //在类的外部进行成员函数的实现
{
    string  str = "车的品牌" + brand
            + ",上市年限是" + std::to_string(year);
    cout << str<<endl;
}

int main()
{
    Car BMW3("宝马",2025);
    BMW3.realPrintCarInfo();


    return 0;
}

class_10:this关键字,QT,c++,算法,开发语言

链式调用

 

#include <iostream>
#include <iostream>
using namespace std;


class Car{
public:
    //成员数据
    string brand; //品牌
    int    year;  //年限

     //构造函数名与类名相同
    Car(string brand,int year){
        //cout<<"构造函数中:"<<endl;
        //cout<<this<<endl;

        this->brand = brand;
        this->year  = year;
    }

    void realPrintCarInfo(); //声明成员函数
    Car& setYear(int year){
        this->year = year;
        return *this;
    }
};

//"::" 类或者命名空间的解析符
void Car::realPrintCarInfo()  //在类的外部进行成员函数的实现
{
    string  str = "车的品牌" + brand
            + ",上市年限是" + std::to_string(year);
    cout << str<<endl;
}

int main()
{
    Car BMW3("宝马",2025);
    //链式调用
    BMW3.setYear(2024).realPrintCarInfo();


    return 0;
}

class_10:this关键字,QT,c++,算法,开发语言

在这个例子中,Car类的构造函数使用this指针来区分成员变量好人构造函数参数。同意,setYear成员函数使用this指针来返回该函数的对象的引用,这允许链式调用,如文章来源地址https://www.toymoban.com/news/detail-807204.html

 BMW3.setYear(2024).realPrintCarInfo();

到了这里,关于class_10:this关键字的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 面向对象编程(进阶)1:关键字:this

    目录 1.1 this是什么? 1.2 什么时候使用this 1.2.1 实例方法或构造器中使用当前对象的成员 举例1: 举例2: 测试类: 1.2.2 同一个类中构造器互相调用 注意: 1.3 练习 **练习1:** 练习2: 在Java中,this不算难理解,它的作用和其词义很接近。 它在方法(准确的说是实例方法

    2023年04月13日
    浏览(46)
  • this关键字的四种用法

    表示对象自己的属性使用this调用成员变量,解决变量与局部变量之间的冲突问题 代码如下(示例): 代码如下(示例): 控制台运行结果: 分析:为什么会出现这种情况呢?当我们调用构造方法所传递的三个参数值“张三”、20和178.5最终并没有赋值到对象的三个属性中。

    2023年04月22日
    浏览(47)
  • 【JS】JavaScript中的this关键字

    目录 this是什么? this的指向 ①全局环境 ②构造函数 ③对象的方法 this的四类调用方式 ①作为对象方法调用 ②纯粹的函数调用 ③作为构造函数调用 ④使用apply、call、bind调用 举例说明 JavaScript  this  指的是它所属的对象。 它拥有不同的值,具体取决于它的使用位置:

    2024年02月14日
    浏览(46)
  • class_13:静态成员static关键字

         

    2024年01月20日
    浏览(50)
  • JavaSE基础(19) super,this 关键字

    子类对象的创建过程: 子类的构造方法中,默认先调用父类的无参构造方法。如果没有显示的调用,那么隐含着super()。         可以访问父类的属性         可以访问父类的方法         指代父类的构造方法, 如果有多个,靠参数来区分。要在第一行。      

    2023年04月10日
    浏览(37)
  • 【Java 基础】构造方法和 this 关键字详解

    《 Java 零基础入门到精通 》 专栏持续更新中。通过本专栏你将学习到 Java 从 入门 到 进阶 再到 实战 的全套完整内容,所有内容均将集中于此专栏。无论是初学者还是有经验的开发人员,都可从本专栏获益。 订阅专栏后添加我微信或者进交流群,进群可找我领取 前端/Java

    2023年04月14日
    浏览(46)
  • 安全初级—正则表达式、This关键字、闭包

    字面量字符 某个字符只表示它字面的含义,例如 /a/ 匹配 a , /b/ 匹配 b 。 元字符 (1)点字符(.) 点字符可以匹配除回车( r )、换行( n )、行分隔符( u2028 )和段分隔符( u2029 )以外的所有字符。 同时,点字符对于码点大于 0xFFFF 字符也不能正确的匹配,会认为这是两个字符

    2024年02月15日
    浏览(43)
  • Java 面向对象 03 就近原则和this关键字

    对于起名字需要见名知意,所以这个String n 不太合适: 但是如果将n改为name,会与第五行代码的name重复: 运行代码发现,获取后的姓名为默认值,是null 引入就近原则: 此处打印的是age=10,但是如果想使用成员位置的age ,应该使用this 代码: 运行结果: 使用this关键

    2024年01月21日
    浏览(50)
  • JavaScript的static、this、super关键字介绍

    static: ☆ static用于定义类的静态方法和静态属性。 ☆ 静态方法是直接与类相关联的方法,不需要实例化类即可调用。 ☆ 静态属性是类本身的属性,而不是实例的属性。 ☆ 在静态方法内部,不能使用this来引用实例,因为静态方法与特定实例无关。 th

    2024年02月16日
    浏览(37)
  • this关键字和同步异步宏认为微任务理解

    目录 js面试常见问题:1.this指向  2.闭包定义和作用 3.原型链 4.异步协程 this this主要有以下几个使用场合。 1)全局环境 (2)构造函数 (3)对象的方法 避免多层this 避免数组处理方法中的 this 避免回调函数中的 this 绑定 this 的方法 Function.prototype.call() Function.prototype

    2024年02月15日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包