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语言使用scanf连续输入字符串出现的问题

    C语言使用scanf连续输入字符串出现的问题

    这篇文章主要介绍了C语言使用scanf连续输入字符串出现的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • C语言实现手写Map(全功能)的示例代码

    C语言实现手写Map(全功能)的示例代码

    这篇文章主要为大家详细介绍了如何利用C语言实现手写Map(全功能),文中的示例代码讲解详细,对我们学习C语言有一定帮助,需要的可以参考一下
    2022-08-08
  • C++拷贝构造函数和赋值运算符重载详解

    C++拷贝构造函数和赋值运算符重载详解

    拷贝构造函数是特殊的构造函数,是用一个已经存在的对象,赋值拷贝给另一个新创建的已经存在的对象,这篇文章主要介绍了C++拷贝构造函数和赋值运算符重载,需要的朋友可以参考下
    2024-05-05
  • C语言数据结构之栈和队列的实现及应用

    C语言数据结构之栈和队列的实现及应用

    栈和队列是一种数据结构,只规定了性质,并没有规定实现方式。本文将以顺序结构实现栈,链表方式实现队列,感兴趣的小伙伴快跟随小编一起学习一下吧
    2022-08-08
  • C++ OpenCV红绿灯检测Demo实现详解

    C++ OpenCV红绿灯检测Demo实现详解

    OpenCV(Open Source Computer Vision Library)是开源的计算机视觉和机器学习库,提供了C++、 C、 Python、 Java接口,并支持Windows、 Linux、 Android、 Mac OS平台,下面这篇文章主要给大家介绍了关于C++ OpenCV红绿灯检测Demo实现的相关资料,需要的朋友可以参考下
    2022-11-11
  • C语言深入探究冒泡排序与堆排序使用案例讲解

    C语言深入探究冒泡排序与堆排序使用案例讲解

    算法中排序是十分重要的,而每一个学习计算机的都会在初期的时候接触到这种排序,下面这篇文章主要给大家介绍了关于c语言冒泡排序与堆排序使用的相关资料,需要的朋友可以参考下
    2022-05-05
  • C++  系统IO流介绍

    C++  系统IO流介绍

    这篇文章主要介绍了C++系统IO流,大部分人都是从输出"Hello World"开始的,本文会介绍C++中的IO细节,需要的朋友可以参考一下,希望对大家有所帮助
    2021-12-12
  • C语言实现通讯录管理系统

    C语言实现通讯录管理系统

    这篇文章主要为大家详细介绍了C语言实现通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • C语言数据结构实例讲解单链表的实现

    C语言数据结构实例讲解单链表的实现

    单链表是后面要学的双链表以及循环链表的基础,要想继续深入了解数据结构以及C++,我们就要奠定好这块基石!接下来就和我一起学习吧
    2022-03-03
  • windows下安装QT及visual studio 2017搭建开发环境

    windows下安装QT及visual studio 2017搭建开发环境

    这篇文章主要介绍了windows下安装QT及visual studio 2017搭建开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03

最新评论