【原创】一起学C++ 之->(箭头符号) ---------C++ primer plus(第6版)
2024-10-16 16:05:56
1.C++新手在指定结构成员时,不知道何时用.运算符,何时是用->运算符。
结论:如果结构标识符是结构名,则使用句点运算符;如果标识符是指向结构的指针,则使用箭头运算符。
#include <iostream>
struct inflatable
{
char name[];
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, );
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\n";
cout<<"Price: $"<<ps->price<<endl;
delete ps;
cin>>a; //仅为保持dos界面
return ;
}
输出结果:
对于例子中的 *ps 这个结构指针:
ps->name 等价于 (*ps).name
2.new创建的对象不是用“*”或“.”来访问该对象的成员函数的,而是用运算符“->”
Rec *rec=new Rec(,);
rec->getArea();
delete rec;
C++用new创建对象时返回的是一个对象指针,用new 动态创建的对象必须用delete来撤销该对象。只有delete对象才会调用其析构函数。
注意:new创建的对象不是用“*”或“.”来访问该对象的成员函数的,而是用运算符“->”;
总结:指针对象调用的方法都要用 ->
最新文章
- Ubuntu系统网卡IP配置方法
- ABP的Zero Sample
- mac下载百度云盘大文件及断点续传的方法
- Repeater控件使用(含删除,分页功能)
- debian , ubuntu 截取下拉菜单
- Android 测试工具
- compared woth QPSK, what is the advantages of QAM(16QAM or 64QAM?)
- linux zip 命令详解
- [PeterDLax著泛函分析习题参考解答]第4章 Hahn-Bananch 定理的应用
- for循环例子1、2、3
- 手机号码抽奖系统(JS)
- 解决Windos7中优盘安装centos7后无法引导原系统问题
- Dynamics CRM2016 Supported versions of Internet Explorer and Microsoft Edge
- Jmeter学习之-从数据库取出数据并且校验数据是否准确
- 【iCore1S 双核心板_ARM】例程三:EXTI中断输入实验——读取ARM按键状态
- js 乘法 4.39*100 出现值不对问题解决
- Is there anyway to discover which ip addresses are connected to the db?
- VS代码页到设计页传值
- Android源码博客目录
- ArcGIS10.3+Oracle12C+ArcGIS Server10.3安装布署(之二)