二十三. 中午回顾(略)
二十四. 面向过程和面向对象(略)
二十五. 面向对象求圆的面积和周长
#include <iostream>
using namespace std;
const double PI =3.14;
//圆的周长
double getCicrcleGirth(double r)
{
return 2 * PI * r;
}
//圆的面积
double getCicrcleArea(double r)
{
return PI * r * r;
}
//用面向对象实现
//圆类
class Circle
{
public:
void setR(double r)
{
m_r = r;
}
double getGirth()
{
return 2 * PI * m_r;
}
double getArea()
{
return PI * m_r * m_r;
}
double getR()
{
return m_r;
}
private:
double m_r; //类的私有成员,一般以m开头
};
int main()
{
double r = 10; //圆的半径
double girth, area;
girth = getCicrcleGirth(r);
area = getCicrcleArea(r);
cout<<"圆的半径是"<<r<<endl;
cout<<"圆的周长是"<<girth<<endl;
cout<<"圆的面积是"<<area<<endl;
cout<<"--------------------------"<<endl;
Circle c;
c.setR(10);
cout<<"圆的半径是"<<c.getR()<<endl;
cout<<"圆的周长是"<<c.getGirth()<<endl;
cout<<"圆的面积是"<<c.getArea()<<endl;
}
二十六. 圆的周长和面积多文件编写
这部分有三个文件。main.cpp, Circle.h, Circle.cpp
首先是Circle.h
#ifndef CIRCLE_H
#define CIRCLE_H
class Circle
{
public:
//设置半径
void setR(double r);
//得到半径
double getR();
//得到面积
double getArea();
//得到周长
double getGirth();
private:
double m_r;
double m_area;
double m_girth;
};
#endif // CIRCLE_H
然后是Circle.cpp
#include "Circle.h"
void Circle::setR(double r)
{
m_r = r;
}
double Circle::getR()
{
return m_r;
}
double Circle::getArea()
{
m_area = m_r * m_r * 3.14;
return m_area;
}
double Circle::getGirth()
{
m_girth = 2 * 3.14 * m_r;
return m_girth;
}
最后是 main.cpp
#include <iostream>
#include "Circle.h"
using namespace std;
int main()
{
Circle c;
c.setR(10);
cout<<"面积:"<<c.getArea()<<endl;
cout<<"周长:"<<c.getGirth()<<endl;
return 0;
}