C++ 点(.)和箭头(->)运算符用法小结

 更新时间:2024年01月08日 16:00:26   作者:机器人那些事儿  
在C++中,点运算符(.)用于访问类的成员变量和成员函数,而箭头运算符(->)用于通过指针访问类的成员变量和成员函数,本文就来详细的介绍一下如何使用,感兴趣的可以了解一下

1. 概述

在C++中,点运算符(.)用于访问类的成员变量和成员函数,而箭头运算符(->)用于通过指针访问类的成员变量和成员函数。

2. 点运算符用法

访问类的成员变量:对象名.成员变量名
访问类的成员函数:对象名.成员函数名(参数列表)

3. 箭头运算符用法

访问指针指向的对象的成员变量:指针->成员变量名
访问指针指向的对象的成员函数:指针->成员函数名(参数列表)

需要注意的是,箭头运算符只能用于指向类对象的指针,而不能用于普通对象。

点运算符

#include <stdio.h>                 /*引用头文件:输入输出*/
#include<windows.h>                /*引用系统头文件:显示屏暂停*/
typedef struct student             /*定义一个student类型的结构*/
{ 
	char key;                  /*结构体内容*/
	char name[20];
	int age;
}student;
 
 int main()
{
	student data;             /*定义结构体变量data*/
	data.age = 18;            /*向结构体变量赋值*/
	printf("%d\n", data.age); /*打印结构体变量age内容*/
	system("pause");          /*显示屏暂停*/
}

4. 实例

例如,假设有一个名为“person”的类,其中包含成员变量"name"和成员函数"sayHello":

class Person {
public:
    string name;
    void sayHello() {
        cout << "Hello, my name is " << name << endl;
    }
};

然后,我们可以使用点运算符和箭头运算符来访问类的成员:

Person p1;  // 创建一个Person对象
p1.name = "Alice";  // 使用点运算符访问成员变量
p1.sayHello();  // 使用点运算符调用成员函数

Person* p2 = new Person();  // 创建一个指向Person对象的指针
p2->name = "Bob";  // 使用箭头运算符访问成员变量
p2->sayHello();  // 使用箭头运算符调用成员函数
delete p2;  // 删除指针对象

总结起来,点运算符和箭头运算符是C++中常用的运算符,用于访问类的成员变量和成员函数,具有一定的区别和使用限制。

到此这篇关于C++ 点(.)和箭头(->)运算符用法小结的文章就介绍到这了,更多相关C++ (.)和(->)运算符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++实现比较日期大小的示例代码

    C++实现比较日期大小的示例代码

    这篇文章主要为大家详细介绍了如何使用C++实现比较日期大小的功能,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的可以了解一下
    2023-04-04
  • C++各种数据类型所占内存大小详解

    C++各种数据类型所占内存大小详解

    这篇文章主要介绍了C++各种数据类型所占内存大小,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 老生常谈c++中的静态成员

    老生常谈c++中的静态成员

    有时候需要类的一些成员与类本身相关联,而不是与类的每个对象相关联。比如类的所有对象都要共享的变量,这个时候我们就要用到类的静态成员,今天通过实例代码给大家详细介绍,需要的朋友参考下吧
    2021-07-07
  • C++标准之(ravalue reference) 右值引用介绍

    C++标准之(ravalue reference) 右值引用介绍

    临时对象的产生和拷贝所带来的效率折损,一直是C++所为人诟病的问题,下面简单地介绍一下Copy Elision、RVO,对此不感兴趣的可以直接跳过
    2012-11-11
  • c++10进制转换为任意2-16进制数字的实例

    c++10进制转换为任意2-16进制数字的实例

    下面小编就为大家带来一篇c++10进制转换为任意2-16进制数字的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • C++程序中启动线程的方法

    C++程序中启动线程的方法

    这篇文章主要介绍了C++程序中启动线程的方法,作者针对C++11版本中的一些新特性进行了解说,需要的朋友可以参考下
    2015-07-07
  • C++ 中的单例模式(普通,2B,文艺)

    C++ 中的单例模式(普通,2B,文艺)

    这篇文章主要介绍C++ 中的单例模式写法,主要包括普通,2B,文艺三种写法,需要的朋友可以参考下
    2013-03-03
  • OpenCV实现马赛克功能

    OpenCV实现马赛克功能

    这篇文章主要为大家详细介绍了OpenCV实现马赛克功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • C语言深入回顾讲解结构体对齐

    C语言深入回顾讲解结构体对齐

    C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许你存储不同类型的数据项,本篇让我们来了解C 的结构体内存对齐
    2022-06-06
  • Mac下使用Eclipse编译C/C++文件出现 launch failed, binary not found 解决方案

    Mac下使用Eclipse编译C/C++文件出现 launch failed, binary not found 解决方

    这篇文章主要介绍了Mac下使用Eclipse编译C/C++文件出现 launch failed, binary not found 解决方案,需要的朋友可以参考下
    2014-10-10

最新评论