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

时间:2023-03-08 21:06:01
C++笔记007:易犯错误模型——类中为什么需要成员函数

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

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

最初通过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】语句,因此输出乱码。

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