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. Jupyter Notebooks usage

    Important note: You should always work on a duplicate of the course notebook. On the page you used t ...

  2. nginx安全参数

    Strict-Transport-Security Strict-Transport-Security,简称 HSTS.该响应头用于标识浏览器用 HTTPS 替代 HTTP 的方式去访问目标站点. 我 ...

  3. springboot - 返回xml error 从自定义的 ErrorController

    1.概览 2.在<springboot - 返回JSON error 从自定义的 ErrorController>基础上,做如下调整: 1).新增Attribute类和Error类 pac ...

  4. Day 26:Dom4j修改xml

    Dom4j:Writing a document to a file import java.io.File; import java.io.FileOutputStream; import org. ...

  5. Golang的环境安装

    Golang的环境安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Go语言环境安装 1>.下载Golang的安装包 博主推荐阅读: https://studygola ...

  6. 使用pip install jupyter报错处理办法及修改Jupyter默认加载路径的方法

    1.配置python环境之后想使用Jupyter,网上查看可以使用pip install Jupyter安装,执行命令行后正常安装,安装到一半以后报错,如图1.2 图1 图2 2.发现是安装过程中安装 ...

  7. MySQL每日执行

    drop event if exists upload_deadline; DELIMITER $$ create event upload_deadline day starts timestamp ...

  8. 八十二、SAP中的ALV创建之一,新建一个程序

    一.创建一个ALV的程序 二.填写程序属性 三.保存到本地对象 四.来到代码区,这样一个新工程就创建好了,我们后续来写相关的创建代码

  9. 149-PHP大小写转换函数

    <?php $str='PHP is a very good programming language.'; //定义一个字符串 echo "未经处理的字符串:<br /> ...

  10. Block循环引用问题(Objective-c)

    造成循环引用的简单理解是:Block的拥有者在Block作用域内部又引用了自己,因此导致了Block的拥有者永远无法释放内存,就出现了循环引用的内存泄漏 示例代码 @interface ObjTest ...