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创建的对象不是用“*”或“.”来访问该对象的成员函数的,而是用运算符“->”;

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

最新文章

  1. Ubuntu系统网卡IP配置方法
  2. ABP的Zero Sample
  3. mac下载百度云盘大文件及断点续传的方法
  4. Repeater控件使用(含删除,分页功能)
  5. debian , ubuntu 截取下拉菜单
  6. Android 测试工具
  7. compared woth QPSK, what is the advantages of QAM(16QAM or 64QAM?)
  8. linux zip 命令详解
  9. [PeterDLax著泛函分析习题参考解答]第4章 Hahn-Bananch 定理的应用
  10. for循环例子1、2、3
  11. 手机号码抽奖系统(JS)
  12. 解决Windos7中优盘安装centos7后无法引导原系统问题
  13. Dynamics CRM2016 Supported versions of Internet Explorer and Microsoft Edge
  14. Jmeter学习之-从数据库取出数据并且校验数据是否准确
  15. 【iCore1S 双核心板_ARM】例程三:EXTI中断输入实验——读取ARM按键状态
  16. js 乘法 4.39*100 出现值不对问题解决
  17. Is there anyway to discover which ip addresses are connected to the db?
  18. VS代码页到设计页传值
  19. Android源码博客目录
  20. ArcGIS10.3+Oracle12C+ArcGIS Server10.3安装布署(之二)

热门文章

  1. JavaScript与FileSystemObject
  2. 使用SCNetworkReachability判断网络是否连接
  3. Kali+Win7双系统
  4. coherence初识
  5. Eclipse+Axis自动生成Web Service WSDL文件
  6. LeetCode 268
  7. wap测试学习
  8. C#.net拖拽实现获得文件路径
  9. IIS日志
  10. linux c/c++ IP字符串转换成可比较大小的数字