environments:gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)

class data{

public:

  int x;

  data(int vx):vx(x){}

  void msg(){}

};

// create class data instances;

data d = data(3);

data* cpt = &d;

d.msg();

cpt->msg();

typedef  struct col{

  collection(int id, float score):cid{id},cscore{score}{}

  int cid;

  float cscore;

} collection;

// create struct col object

collection c{1,145.3};

cout << c.cid << endl ;

cout << c.cscore <<endl;

collection* spt = &c;

cout << spt -> cid << endl;

cout << spt-> cscore << endl;

Cpp中“.”和“->”说明:

  1、“.”是成员运算符,用于调取成员变量和成员函数;符号“.”的左边必须是实例对象(具体对象),举例为绿色字体;

  2、“->”是地址运算符,用于引用成员变量和成员函数;符号“->”的左边是实例对象的地址或者类名(结构名),举例为黄色字体;

  3、等价形式:d.msg() 和 (*cpt).msg() 等价;c.cid 和 (*spt).cid;

  4、“.”和“->”常用于“类和结构”相关操作;

  5、结构体初始化说明:传送门

下面是具体代码:

 #include<iostream>

 using namespace std;

 class Info{

 private:
int iage;
int iid; public:
Info(int age, int id):iage(age),iid(id){}
void msg(){
cout << "age = " << this->iage << "\t";
cout << "id = " << this->iid << endl;
} }; typedef struct Data
{
Data(int id, float math):did{id},dmath{math}{}
float dmath;
int did;
} data; int main(){ Info information = Info(, );
Info* cpt;
information.msg();
cpt = &information;
cpt -> msg(); data d{,};
cout <<"d.id = " << d.did << "\t";
cout <<"d.math = " << d.dmath << endl; data* spt;
spt = &d;
cout <<"spt->id = " << spt->did << "\t";
cout <<"spt->math = " << spt->dmath << endl; return ;
} // result:
// age = 30 id = 1
// age = 30 id = 1
// d.id = 1 d.math = 145
// spt->id = 1 spt->math = 145

Cpp:"->"和"."的区别的更多相关文章

  1. h和.cpp文件的区别

    关于头文件和源文件的分别 首先,我们可以将所有东西都放在一个.cpp文件内. 然后编译器就将这个.cpp编译成.obj,obj是什么东西? 就是编译单元了.一个程序,可以由一个编译单元组成, 也可以有 ...

  2. C++中头文件、源文件之间的区别与联系

    .h头文件和.cpp文件的区别 疑惑1:.h文件能够编写main函数吗? 实验: 编写test.h文件,里面包含main函数 若直接编译g++ test.h -o test,通过file命令 file ...

  3. svn恢复到之前某个版本号

    一直在找svn回滚的方法,这个还是非常有用的,屡试不爽阿 常常因为坑爹的需求,功能要切回到之前的某一个版本号.有两种方法能够实现: 方法1: 用svn merge  1) 先 svn up,保证更新到 ...

  4. c++——基本概念

    如何理解c/c++中的指针?每种编程语言都使用指针,但Java.c#等将指针隐藏,而c/c++将指针暴露给了用户(程序员)https://www.cnblogs.com/gxcdream/p/4805 ...

  5. 面向对象程序设计第三次作业-Calculator

    题目: 最终代码: Scan.h: Print.h: Calaulator.cpp: 解题过程 看到题目后,在查询之后明白了这是多文件的题目,然后通过翁凯老师的视频讲解知道了.h和.cpp文件的区别和 ...

  6. OOP_由C到C++

    由C到C++ OOP第一课 C语言的局限 C++的特点 C++的程序特征 C++程序的结构特性 C++程序的编辑.编译和运行 ⭐C++对C的补充 C语言的局限 类型检查机制相对较弱,使得程序中的一些错 ...

  7. .c与.cpp的区别解析

    这几天在练习数据结构等知识的时候,有时遇见文件保存为c后缀则能编译通过,有时又是保存cpp后缀才能通过.对于这个都没能区分清,是自己的基本功问题,于是百度了一下.幸好有许多和我一样有问题的人. 其实简 ...

  8. 【转】C与CPP后缀的文件在编译时的区别

                                                            本文出处连接, by Ray FAN(ielnaf@qq.com)            ...

  9. C++中.cpp和.hpp的区别

    原文地址:https://blog.csdn.net/qzx9059/article/details/89210571 c++中 cpp和hpp我们可以将所有东西都放在一个.cpp文件内,编译器会将这 ...

  10. 浅谈头文件(.h)和源文件(.cpp)的区别

    浅谈头文件(.h)和源文件(.cpp)的区别 本人原来在大一写C的时候,都是所有代码写在一个文件里一锅乱煮.经过自己开始写程序之后,发现一个工程只有一定是由多个不同功能.分门别类展开的文件构成的.一锅 ...

随机推荐

  1. MyBatis笔记(一)

    MyBatis学习随笔 第一个MyBatis项目 创建项目 导入maven依赖,根据需要选择性添加mysql/oracle,spring,spring-mybatis等依赖,这里就不一一列出了 < ...

  2. Tips for traing DNN

    1.   一般的机器学习方法不会在train好的模型上检查training data的结果,因为DNN在training data上都没有办法获得很好的正确率, 所以要先回头看一下要对模型做什么修改, ...

  3. C语言拾遗——strtok

    C语言拾遗——strtok 今天刷PAT的时候用到了这个strtok函数,顺手就记录一下 strtok函数包含于头文件string.h 语法:char *strtok( char *str1, con ...

  4. 12.Python的高级语法和用法

    # from enum import Enum # 枚举 # class VIP(Enum): # YELLOW = # YELLOW_ALIAS = # 别名 # GREEN = # BLACK = ...

  5. TensorFlow2 Part1:基础

    TensorFlow™是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络 ...

  6. 一百一十四、SAP查看事务代码对应工程源码

    一.比如我们想看ZMMR008的源码,输入事务代码,点击显示 二.点击显示之后,在程序这儿,的双击打开 三.可以看到源码内容

  7. 一万五千字的Dissertation你真的会写了吗?

    在英国留学的同学们想要顺利毕业,就必须要过Dissertation这一关.而一篇Dissertation字数可能多大一万五千字,其写作难度之大让很多留学生疯狂吐槽.那么这么多字的Dissertatio ...

  8. scala 语言特性

    Scala 语言特性 Unit 表示无值, 等价于java, C++中的void Null 表示空值或空引用 Nothing 所有其他类型的子类型, 表示没有值 Any 所有类型的超类, 任何实例都属 ...

  9. 实验吧-杂项-MD5之守株待兔(时间戳&python时间戳函数time.time())

    其实也有点蒙圈,因为从没做过和时间戳有关的题. 打开网站,将系统密钥解密得到一串值,而自己的密钥解密是空的,既然说是要和系统匹配,就把解密得到的值以get方式送出去. 但是发现还是在自己的密钥也发生了 ...

  10. Elasticsearch 修改数据

    章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...