C++中的.和->

2023-11-19

C++中的.和->

1. C++中的点(.)的应用

如果是一个对象或者引用去调用成员变量或者成员函数函数的话,会使用到点

#include <iostream>
using namespace std;
class Base {
public:
    Base(int a) {
        val = a;
    }
     void fun() {
        cout << "Base static fun" << endl;
    }
    int val;
};
int main() {
//对象
    Base base1(1);
    cout << base1.val << endl;
    base1.fun();
    //引用
    Base& base2 = base1;//引用在创建的时候必须初始化
    base2.val;
     base2.fun();
    return 0;
}

2. ->的使用

2.如果是指针对象调用成员函数或成员变量时会使用到"->",注意再在结构体和类中都是一样,都会用到
最常见的二叉树使用结构体定义时用到 (C语言的结构体问题参考链接

struct TreeNode {
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
void traversal(TreeNode* cur) {//指针对象
	cur->left;
	cur->right;
}

使用

class Base {
public:
     void fun() {
        cout << "Base static fun" << endl;
    }
};
int main() {
//指针引用对象
    Base *base = new Base();
    base->fun();
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++中的.和-> 的相关文章

  • 检查空参数的最佳方法(保护子句)

    例如 您通常不希望构造函数中的参数为空 因此看到类似的内容是很正常的 if someArg null throw new ArgumentNullException nameof someArg if otherArg null throw
  • Windows 上使用 g++ 的 Makefile,链接库

    我已经厌倦了 MSVC 6 以及每个人总是告诉我它是一个蹩脚的编译器等等 所以现在我决定尝试使用 vim 加 g 和 makefile 这是我的问题 我有以下 makefile This is supposed to be a commen
  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 没有 Unicode 字节顺序标记。无法切换到 Unicode

    我正在使用 XSD 编写 XML 验证器 下面是我所做的 但是当验证器到达该线时while list Read 它给了我错误 没有 Unicode 字节顺序标记 无法切换到 Unicode 有人可以帮我解决吗 public class Va
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • 切换图片框可见性 C#

    为什么图片框控件的可见性属性在这里不起作用 我最初将它们设置为 false 以便在屏幕加载时它们不可见 但后来我想切换这个 我已完成以下操作 但似乎不起作用 这是一个 Windows 窗体应用程序 private void Action w
  • 通过单个 GPIO 引脚转储闪存

    我正在使用 Infineon 的 XMC4500 Relax Kit 并尝试通过单个 GPIO 引脚提取固件 我非常天真的想法是通过 GPIO 引脚一次转储一位 然后用逻辑分析仪以某种方式 嗅探 数据 伪代码 while word by w
  • C# 中附加/分离事件处理程序的不同方式有什么区别

    我的问题有两个部分 首先 我们可以通过以下两种方式附加事件处理程序 myObject MyEvent new EventHandler MyHandler myObject MyEvent MyHandler 据我了解 这两者是等价的 在第
  • 如何将字节块读入结构体

    我有一个需要处理的资源文件 它包含一组文件 首先 资源文件列出了其中包含的所有文件 以及一些其他数据 例如在此结构中 struct FileEntry byte Value1 char Filename 12 byte Value2 byt
  • 将 C# 反射代码移植到 Metro-Ui

    我正在尝试移植使用反射的现有 C 类 通用工厂 但我无法编译这段代码 Type types Assembly GetAssembly typeof TProduct GetTypes foreach Type type in types i
  • F10键没被抓住

    I have a Windows Form and there overriden ProcessCmdKey However this works with all of the F Keys except for F10 I am tr
  • 在通过网络发送之前压缩位图

    我正在尝试通过网络发送位图屏幕截图 因此我需要在发送之前对其进行压缩 有一个库或方法可以做到这一点吗 当您将图像保存到流时 您have选择一种格式 几乎所有位图格式 bmp gif jpg png 都使用一种或多种压缩形式 因此 只需选择适
  • .net Framework (.net 4.0) 中定义 Base 3 数字的类

    我正在寻找一些可以用来定义 3 基数 三进制数 的类 有什么我可以在 net 框架中使用的东西或者我需要写一些东西吗 谢谢你的帮助 您可以使用解析Convert ToInt32 s base http msdn microsoft com
  • 在“using”语句中使用各种类型 (C#)

    自从C usingstatements只是try finally dispose 的语法糖 为什么它接受多个对象仅当它们属于同一类型时 我不明白 因为它们需要的只是 IDisposable 如果它们都实现 IDisposable 应该没问题
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • `cosf`、`sinf` 等不在 `std` 中 [重复]

    这个问题在这里已经有答案了 根据这里的讨论 我有报告了一个错误 https bugs launchpad net ubuntu source gcc 8 bug 1831385给 Ubuntu 开发者 编译以下示例 C 程序时 includ
  • asp.net c# 防止在从服务器端代码更改索引时触发 selectedindexchanged 事件

    我在同一个 aspx 页面上有两个下拉列表控件
  • 理解 C++11 中的 std::atomic::compare_exchange_weak()

    bool compare exchange weak T expected T val compare exchange weak 是 C 11 中提供的比较交换原语之一 它是weak即使对象的值等于 它也会返回 falseexpected
  • 为什么 C# 接口名称前面加上“I”

    这种命名约定背后的基本原理是什么 我没有看到任何好处 额外的前缀只会污染 API 我的想法与康拉德一致response https stackoverflow com a 222502 9898与此相关的question https sta
  • 如何使用 ASP.NET Web 表单从代码隐藏中访问更新面板内的文本框、标签

    我在更新面板中定义了一些控件 它们绑定到中继器控件 我需要根据匿名字段隐藏和显示用户名和国家 地区 但问题是我无法以编程方式访问更新面板中定义的控件 我如何访问这些控件 我也在网上查找但找不到很多参考资料 下面是来自aspx页面和 cs页面

随机推荐

  • 最详细的Java知识点--Map集合

    Map 主要内容 Map集合 目标 能够说出Map集合特点 使用Map集合添加方法保存数据 使用 键找值 的方式遍历Map集合 使用 键值对 的方式遍历Map集合 能够使用HashMap存储自定义键值对的数据 能够使用HashMap编写斗地
  • java错误和异常

    错误 error 非常严重 不处理无法编译 不过很容易处理 一般也就是变量名错误 函数写错了这些 还有就是内存 环境问题了 异常 Exception 编译时异常 必须使用try catch才能运行 比如IOException SQLExce
  • Java--- Java 中的线程,一般执行完成后就会自动销毁

    关于 Java 中的线程 一般执行完成后就会自动销毁 程序会终止 如下测试代码 public class Test implements Runnable public static void main final String args
  • Unity 2D 碰撞检测位置,生成烟雾实例化

    ContactPoint2D contact p collision contacts 0 Quaternion rot Quaternion FromToRotation Vector3 up contact normal Vector3
  • ubuntu安装最新版docker简易教程

    Ubuntu Docker 安装 Docker Engine Community 支持以下的 Ubuntu 版本 Xenial 16 04 LTS Bionic 18 04 LTS Cosmic 18 10 Disco 19 04 其他更新
  • pyecharts源码解读(17)HTML组件包components之表格组件Table

    当前pyecharts的版本为1 9 0 components包概述 components包位于pyecharts包顶级目录中 用于定义pyecharts的HTML组件 包结构如下 components HTML组件包 image py 定
  • python注意事项2

    工具pycharm 1 字符串的方法 hello str hello world 以什么开始 hello str startwith h 以什么结束 hello str endwith 去除空白字符 string lstrip 去除左边的空
  • 【Docker网络】Docker的容器互联

    Docker网络 Docker的容器互联 一 Docker容器互联介绍 1 1 Docker容器互联简介 1 2 Docker容器互联方式 二 本次实践介绍 2 1 本地环境规划 2 2 本次实践介绍 三 默认网络下的容器互联 3 1 默认
  • ABB PFEA111-20 3BSE050090R20处理器模块

    处理能力 PFEA111 20 处理器模块可能具备高性能的处理能力 能够执行复杂的控制算法 逻辑运算和数据处理任务 多通道输入输出 该模块可能会提供多个数字或模拟输入通道 用于监测外部信号 以及多个输出通道 用于控制执行器和设备 通信接口
  • 测试自动化面试题

    Python python有哪些数据类型 Python支持多种数据类型 包括以下常见的数据类型 数字类型 整数 int 浮点数 float 和复数 complex 字符串类型 由字符组成的不可变序列 使用引号 单引号或双引号 括起来 列表
  • 机器学习(三)K-means聚类(手肘法、轮廓系数、可视化代码)

    K means聚类 聚类是无监督学习当中非常重要的一部分 能够在没有标签的情况下将数据分类 说到聚类 最常用也是最重要的一个算法就是K means算法 算法介绍 K means是一种非常简单快速高效的算法 只需要迭代几次即可 其原理用一句话
  • linux---"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message

    2020年3月14日服务器异常重启 查看 var log message日志 如下 Mar 14 15 04 59 localhost kernel azx single send cmd 11 callbacks suppressed M
  • GLES3.0中文API-glGetProgramResource

    名称 glGetProgramResource 检索程序对象中单个活动资源的多个属性的值 C 规范 void glGetProgramResourceiv GLuint program GLenum programInterface GLu
  • flask模块mock接口(一)

    目录 一 安装第三方模块 二 flask模块的使用 三 动态路由 四 返回json格式数据 有时候测试需要调用第三方接口进行测试 但是第三方接口没有提供时 我们可以通过mock接口模拟第三方接口 一 安装第三方
  • UNITY3D 实现暂停(Coroutine)

    前断时间在做一个游戏项目 为了实现暂停还有游戏逻辑中用yield 自己写了一个类 代码如下 using UnityEngine using System Collections if want gameobject pause Updata
  • 嵌入式基础常识

    一 基本概念 linux ubuntu 用户名 类型 普通用户 系统名称 家目录 root 管理员用户 pwd 显示当前工作路径 绝对路径 home linux 家目录 根目录下 代表根目录 ls 列出文件状态 选项 l i h 1 rwx
  • BUUCTF-千层套路(python脚本)

    zip层层压缩 写脚本爆破 import zipfile import os current path r C Users SoberJoker Downloads attachment if name main pwd ls os lis
  • 【经典】IDEA+DevTools热部署

    IDEA DevTools实现热部署功能 热部署 大家都知道在项目开发过程中 常常会改动页面数据或者修改数据结构 为了显示改动效果 往往需要重启应用查看改变效果 其实就是重新编译生成了新的Class文件 这个文件里记录着和代码等对应的各种信
  • 电脑浏览器换IP怎么换?四种浏览器教程一起看看吧。【芝麻http】

    浏览器设置代理IP上网是代理IP最基础的使用方法 不同的浏览器设置代理IP的方法略有不同 下面就几种常用的浏览器如何设置代理IP进行说明 一 IE浏览器设置代理IP IE浏览器无疑是最常用的浏览器 而像360浏览器 搜狗浏览器 QQ浏览器这
  • C++中的.和->

    C 中的 和 gt 1 C 中的点 的应用 如果是一个对象或者引用去调用成员变量或者成员函数函数的话 会使用到点 include