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,并再次输出了它们的值。可以看到,无论是使用指针还是引用,都能够正确地访问对象成员并修改它们的值。