zoukankan      html  css  js  c++  java
  • 【原创】一起学C++ 之->(箭头符号) ---------C++ primer plus(第6版)

    1.C++新手在指定结构成员时,不知道何时用.运算符,何时是用->运算符。

    结论:如果结构标识符是结构名,则使用句点运算符;如果标识符是指向结构的指针,则使用箭头运算符。

    #include <iostream>
    struct inflatable
    {
        char name[20];
        float volume;
        double price;
    };
    int main(){
        using namespace std;
        int a;    //仅为保持dos界面 
        inflatable *ps=new    inflatable;
        cout<<"Enter name of inflatable item: ";
        cin.get(ps->name,20    );
        cout<<"Enter volume in cubic feet: ";
        cin>>(*ps).volume;
        cout<<"Enter price : $";
        cin>>ps->price;
        cout<<"Name: "<<(*ps).name<<endl;
        cout<<"Volume: "<<ps->volume<<"cubic feet
    ";
        cout<<"Price: $"<<ps->price<<endl;
        delete ps;
        cin>>a;   //仅为保持dos界面
        return 0;
    }

    输出结果:

    对于例子中的 *ps 这个结构指针:

    ps->name 等价于 (*ps).name

    2.new创建的对象不是用“*”或“.”来访问该对象的成员函数的,而是用运算符“->”

        Rec *rec=new Rec(3,4);
          rec->getArea();
          delete rec;

    C++用new创建对象时返回的是一个对象指针,用new 动态创建的对象必须用delete来撤销该对象。只有delete对象才会调用其析构函数。

    注意:new创建的对象不是用“*”或“.”来访问该对象的成员函数的,而是用运算符“->”;

    总结:指针对象调用的方法都要用 ->

  • 相关阅读:
    Hexo+Github搭建个人博客手记
    如何在Github上部署Hexo个人博客
    测试计划与测试方案的区别
    软件测试流程
    Python笔记-List和Tuple类型
    键盘无响应-如何修复键盘注册表
    正向代理与反向代理-小故事
    解决git连接github超时问题
    如何防范短信接口被恶意调用(被刷)
    接口测试基础篇
  • 原文地址:https://www.cnblogs.com/holyson/p/3957880.html
Copyright © 2011-2022 走看看