C++笔记007:易犯错误模型——类中为什么需要成员函数


 原创笔记,转载请注明出处!

点击【关注】,关注也是一种美德~


 

 

先看源码,在VS2010环境下无法编译通过,在VS2013环境下可以编译通过,并且可以运行,只是运行结果并不是我们期待的结果。

 

最初通过MyCircle类定义对象c1时,为对象分配内存空间,r没有初始化,其值为乱码,pi为3.1415926,area为乱码。

【cin>>c1.r】这个语句为c1.r赋值,假设为10,然后执行【cout<<c1.area<<endl】,我们来看,执行cout时是从内存空间中拿c1.area的值,这个值在定义对象时候已经确定是一个乱码值,此处不会执行【double area=pi*r*r】语句,因此输出乱码。

如果想获取正确的结果,那就需要成员函数,在成员函数中进行计算。

 


 原创笔记,转载请注明出处!

更多精彩请关注微信公众号:依法编程


 

posted @ 2018-04-29 20:52  tyyhmtyyhm  阅读(178)  评论(0编辑  收藏  举报