类的成员函数有两种调用方式,一种是由对象调用,另一种是由对象指针调用。其中,对象调用的方式为objectName.memberFunctionName(parameters),而对象指针调用的方式为objectPointer->memberFunctionName(parameters)。

  对象指针调用objectPointer->memberFunctionName(parameters)等价于先将对象指针解引用,然后使用对象调用的方式调用成员函数。即(*objectPointer).memberFunctionName(parameters),其中objectPointer为对象指针。

  以上,要注意的是操作符的优先级:如果对象指针的间接访问操作不加括号,会陷阱行点操作运算,从而导致编译失败,因为指针进行点操作是非法的。

//=============================================
//对象指针使用成员函数
//============================================= #include <iostream>
#include <iomanip>
using namespace std; /**
*类定义体
*/
class Date{
private:
int year,month,day;
public:
//在类定义体内定义成员函数,不需要在函数名前冠以类名
void set(int y,int m,int d)
{
year = y;
month = m;
day = d;
};
bool isLeapYear();
void print();
}; //使用日期类
int main()
{
Date* dp = new Date;
dp->set(,,);
if((*dp).isLeapYear())
{
dp->print();
}
return ;
} //成员函数类定义体外定义 inline bool Date::isLeapYear() //显示内联
{
return (year%== && year%!=)||(year%==);
} void Date::print()
{
cout<<setfill('');
cout<<setw()<<year<<'-'<<setw()<<month<<'-'<<setw()<<day<<'\n';
cout<<setfill(' ');
}

最新文章

  1. DNS-2
  2. 转载:Solr的自动完成实现方式(第一部分:facet方式)
  3. hive的内部表与外部表创建
  4. 【原创】只用 HTML / CSS 画出一把 UKULELE(夏威夷四弦吉他)
  5. GAC(Global Assembly Cache)注册/卸载 dll
  6. css控制内容显示,自动加&quot;...&quot;
  7. React学习笔记(二) 组件状态
  8. wifi的UI控制。打不开UI
  9. CSS制作波浪线
  10. JAVA项目中文件重命名方式
  11. MTK之DrvGen的使用
  12. 关于js中操作数组的一些方法
  13. Intel Digital Innovation Industry Summit(2018.08.17)
  14. Base64图片编码原理,base64图片工具介绍,图片在线转换Base64
  15. photoshop打造超酷炫火焰人像效果
  16. Service Fabric &mdash;&mdash; Actor / Stateless Service 概念
  17. python2 使用matplotlib
  18. LUOGU 1440
  19. 2018年暑假ACM个人训练题9(动态规划)解题报告
  20. CAD安装失败怎样卸载CAD 2017?错误提示某些产品无法安装

热门文章

  1. Shell脚本中使用function(函数)示例
  2. use zlib lib to compress or decompress file
  3. BZOJ 4503: 两个串 [FFT]
  4. 51Nod 欢乐手速场1 A Pinball[DP 线段树]
  5. Newtonsoft.Json 操作 JSON 字符串
  6. 2018/1/28 RocketMq学习笔记
  7. new day
  8. 使用Dism备份和全新恢复系统
  9. 启动MySql提示:The server quit without updating PID file(…)失败
  10. 分布式代码管理系统Git实践