c++中怎么面向对象求正方形面积

c++中怎么面向对象求正方形面积,对象个数为3个,和面向过程比多了什么呢


#include <iostream>
using namespace std;

int Area(int r)
{
    return r * r;
}

class Square 
{
public:
    Square(int r) : m_r(r) {}
    int Area(void) { return m_r * m_r; }

private:
    int m_r = 0;
};

int main()
{
    int r;
    //面向过程
    cin >> r;//输入边长

    int area = Area(r);//计算面积,直接计算一下
    cout << "Area = " << area;//打印结果

    //面向对象
    cin >> r;//输入边长

    Square s(r);//使用输入的边长构建正方体对象s,输入不同的边长构建不同的对象
    area = s.Area();//计算面积,Area是正方体对象的一个方法
    cout << "Area = " << area;//打印结果

    return 0;
}

结构不同,过程很乱,对象很清晰

#include <iostream>
#include <algorithm>

class Square
{
public:
    Square(double width = 1.0) : _width(width) {}

    double area() const { return _width * _width; }

private:
    double _width;
};

using namespace std;

int main()
{
    Square s[] = {1, 2, 3};
    for_each(begin(s), end(s), [](const auto &sq) { cout << sq.area() << ' '; });
    return 0;
}