C++为什么要使用成员函数

先来看下面一段代码

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 class Circle
 6 {
 7 public:
 8     double pi = 3.1415926;
 9     double r;
10     double area = pi*r*r;
11 
12     double setArea()
13     {
14         return area = pi*r*r;
15     }
16 };
17 
18 int main()
19 {
20     Circle c1;
21     cout << "请输入半径:" << endl;
22     cin >> c1.r;
23 
24     cout << c1.area << endl;
25     cout << c1.setArea() << endl;
26 
27     system("pause");
28     return 0;
29 }

运行结果:

请输入半径:10
2.69149e+124
314.159
请按任意键继续. . .

如运行结果所示,如果把面积area用成员变量来计算,计算的结果是错误,这是因为在类Circle创建对象c1后, 因为编译器不会主动调用 pi*r*r去计算,只是从内存中去取值,所以打印出来的area是一个很大的垃圾值.

原文地址:https://www.cnblogs.com/wangpfcnblogs/p/4641181.html