2017C++基础——网课笔记(23到26)

二十三. 中午回顾(略)

二十四. 面向过程和面向对象(略)

二十五. 面向对象求圆的面积和周长

#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;
}


猜你喜欢

转载自blog.csdn.net/garrulousabyss/article/details/80659879