您的位置:首页 > 编程语言 > C语言/C++

C++中为什么要用成员函数?

2016-08-03 22:52 162 查看
对于很多初学c++的人来说,不知道为什么一定要用成员函数,这里我就详细的介绍一下。

有如下代码

#include <iostream>

using namespace std;

class Circle{

public:
double r ;
double PI = 3.1415;
double area = r*r*PI;

};

int main(){
Circle c1;
cout << "请输入半径r:" << endl;
cin >> c1.r;
cout << c1.area << endl;//乱码
return 0;

}

大家不妨猜测或者写一下这个代码,看看结果是什么?

本人在VS2013运行结果如下图:



PS:如果是在VS2010上运行编译不会通过

第二个代码:
#include "iostream"

#define PI 3.1415926

using namespace std;

class Cricle{

public:
double m_r;
double m_s;

public:
void setR(double r){
m_r = r;
}
double getR()
{
return m_r;
}
double getS()
{
m_s = m_r*m_r*PI;
return m_s;
}

};

int main()

{
double r1;
Cricle c1;
cout << "请输入圆的半径" << endl;
cin >> r1;
c1.setR(r1);
cout << "圆的面积为:" << c1.getS() << endl;
return 0;

}

这段代码运行结果如下图:



不能发现有构造函数和没有构造函数答案是不一样的,为什么没有构造函数的答案会是一个乱码?

画个图来理解一下。



当给r赋值并不会影响area的值,所以没有成员函数和有成员函数的相差很大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐