Arrow箭头运算符在C ++中作为类成员访问运算符

先前,我们讨论了C ++中的类成员访问运算符,该运算符用于访问类的公共成员。

要访问类的公共成员,我们使用object_name.member_name。

使用指向对象的指针访问类成员

如果您有一个指向对象的指针并想要访问类成员,则可以通过使用两个运算符Asterisk(*)和Dot(。)运算符的组合来访问它们。

语法:

(*object_pointer_name).member_name;

考虑给定的类声明

class sample

{

private:

int a;

public:

int b;

void init(int a)

{this->a = a;}

void display()

{cout<<"a: "<<a<<endl;}

};

考虑到main(),这里我们使用*和的组合访问成员函数。运算符:

int main(){

//指向对象声明的指针

sample *sam = new sample();

//赋值给a和back-

(*sam).init(100);

(*sam).b=200;

//打印值

(*sam).display();

cout<<"b: "<<(*sam).b<<endl;

return 0;

}

箭头运算符(->)代替星号(*)和点(。)运算符

我们可以使用Arrow运算符(->)来访问类成员,而不是使用两个运算符Asterisk(*)和Dot(。)运算符的组合,Arrow运算符在C ++编程语言中也称为“类成员访问运算符”。

语法:

object_pointer_name -> member_name;

考虑到main(),这里我们使用Arrow Operator访问成员

int main(){

//指向对象声明的指针

sample *sam = new sample();

//赋值给a和back-

sam->init(100);

sam->b=200;

//打印值

sam->display();

cout<<"b: "<<sam->b<<endl;

return 0;

}

这是完整的程序

#include <iostream>

using namespace std;

class sample

{

private:

int a;

public:

int b;

void init(int a)

{this->a = a;}

void display()

{cout<<"a: "<<a<<endl;}

};

int main(){

//指向对象声明的指针

sample *sam = new sample();

cout<<"Using * and . Operators\n";

//赋值给a和back-

(*sam).init(100);

(*sam).b=200;

//打印值

(*sam).display();

cout<<"b: "<<(*sam).b<<endl;

cout<<"Using Arrow Operator (->)\n";

//赋值给a和back-

sam->init(100);

sam->b=200;

//打印值

sam->display();

cout<<"b: "<<sam->b<<endl;

return 0;

}

输出结果

Using * and . Operators 

a: 100

b: 200

Using Arrow Operator (->) 

a: 100

b: 200

以上是 Arrow箭头运算符在C ++中作为类成员访问运算符 的全部内容, 来源链接: utcz.com/z/321520.html

回到顶部