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 . Operatorsa: 100
b: 200
Using Arrow Operator (->)
a: 100
b: 200
以上是 Arrow箭头运算符在C ++中作为类成员访问运算符 的全部内容, 来源链接: utcz.com/z/321520.html