28对象成员的引用

简介: 28对象成员的引用

C++入门——60s从0到1

对象成员的引用

 

在C++中,对象成员是指类中的成员变量或成员函数,它们是对象的一部分。对象的成员可以通过对象来访问,也可以通过引用来访问。引用是一种别名,它是一个已经存在的变量的别名,而不是变量本身。在C++中,对象成员的引用可以使用对象名.成员名()或->成员名()的方式来访问,也可以使用引用的语法来访问。

 

对象成员的引用语法

 

在C++中,对象成员的引用语法为:对象名.成员名() 或 ->成员名(),其中对象名可以是对象的指针或引用来限定。例如:

 

int x = 10;
int& y = x; // 定义y为x的引用
 
cout << "x = " << x << endl; // 输出10
cout << "y = " << y << endl; // 输出10
 
y = 20; // 修改y的值,x也会被修改
cout << "x = " << x << endl; // 输出20
cout << "y = " << y << endl; // 输出20

 

在上面的代码中,我们首先定义了一个整型变量x并初始化为10。然后定义了一个整型引用y,并将其初始化为x的引用。在输出语句中,我们通过对象名.成员名()的方式访问了x和y的值,并发现它们的值都被正确地输出了。接着我们修改了y的值为20,发现x的值也被修改了,这是因为y是x的引用,它们共享同一个存储空间。

 

指向对象成员的指针和引用的语法

 

除了使用对象名.成员名()或->成员名()的方式访问对象成员外,我们还可以使用指向对象成员的指针和引用来访问。指向对象成员的指针和引用可以使用对象名.*指针或->*指针的方式来访问。例如:

 

int x = 10;
int* ptr = &x; // 定义指向x的指针
int& ref = x; // 定义x的引用
 
cout << "x = " << x << endl; // 输出10
cout << "ptr = " << *ptr << endl; // 输出10
cout << "ref = " << ref << endl; // 输出10
 
*ptr = 20; // 通过指针修改x的值
cout << "x = " << x << endl; // 输出20
cout << "ptr = " << *ptr << endl; // 输出20
cout << "ref = " << ref << endl; // 输出20

 

在上面的代码中,我们首先定义了一个整型变量x并初始化为10。然后定义了一个指向x的指针ptr和一个引用ref,并分别输出了它们的值。接着我们通过指针ptr和引用ref分别修改了x的值为20,并再次输出了它们的值。可以看到,无论是使用指针还是引用,都能够正确地访问对象成员并修改它们的值。

 

目录
相关文章
|
7月前
|
算法 Java 程序员
【跨代引用】
【跨代引用】
|
7月前
|
存储
创建一个对象用什么运算符?对象实体与对象引用有何不同?
创建一个对象用什么运算符?对象实体与对象引用有何不同?
|
4天前
|
安全 C++
21引用
21引用
12 0
|
4天前
|
存储 安全 编译器
【c++】引用
【c++】引用
【c++】引用
|
7月前
|
Java
对象的相等和引用相等的区别
对象的相等和引用相等的区别
|
存储 编译器 C++
【C++】引用(上)
【C++】引用(上)
【C++】引用(上)
|
存储 安全 编译器
【C++】C++ 引用
【C++】C++ 引用
58 0
【C++】C++ 引用
|
编译器 C++
C++ ——引用(上)
引用的知识比较繁琐,分为两部分来写
93 0
C++ ——引用(上)
|
Java 编译器
方法引用的那些事儿
一句话介绍: > **方法引用**(**_Method Reference_**)是在 Lambda 表达式的基础上引申出来的一个功能。 先不铺展概念,从一个示例开始说起。 # 一、小示例 ```java List list = Arrays.asList(1, 2, 3); list.forEach(num -> System.out.println(num));
411 0