C++——this指针

this指针的出现是因为在早期没有c++编译器,c++程序只能使用c语言的编译器进行编译。所以c++的程序先需要翻译为程序。

C++程序如下:

class Demo

{

int id;

public :

Demo(int i)

{

id = i;

cout << "id = " << id << "创建" << endl;

}

~Demo()

{

cout << "id =" << id << "释放" << endl;

}

void Func_a(int i)

{

id = i;

cout << "类函数" << id << endl;

}

};

int main()

{

Demo A(1);

A.Func_a(20);

return 0;

}

翻译后的C程序:

#include "pch.h"

#include <iostream>

using namespace std;

struct Demo

{

int id;

};

void Func_a(struct Demo * this, int i)

{

cout << "类函数" << i << endl;

}

int mian()

{

struct Demo A;

Func_a(&A,20);

return  0;

}

this指针的作用就是指向成员函数所作用的对象。

class shi_shu

{

public:

int shi_bu, xv_bu;

shi_shu();

shi_shu(int i,int j);

~shi_shu();

shi_shu add_one()

{

this->shi_bu++;

this->xv_bu++;

return *this;

}

int print()

{

std::cout << " " << shi_bu << " " << xv_bu << std::endl;

return 0;

}

};

shi_shu::shi_shu()

{

}

shi_shu::shi_shu(int i,int j)

{

shi_bu = i;

xv_bu = j;

}

shi_shu::~shi_shu()

{

}

int main()

{

    std::cout << "Hello World!\n";

shi_shu A(1,2),B;

A.print();

B = A.add_one();//将A对象中的值++后拷贝给B对象

B.print();

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容