有一个圆形的旱冰场地,场地内抹水泥,造价为每平方米M元,围栏用木条围成,每米造价N元,输入旱冰场半径,用程序计算出其造价。
一级提示:
先定义类,确定其数据成员和成员函数。在这里要定义的旱冰场类,实际我们只关心其面积和周长,根据面积计算场地内抹水泥的造价,根据周长计算围栏的造价。有了类的定义,在main函数中定义该类对象,调用成员函数即可以完成求解。
二级提示:
实际上,对于旱冰场,我们只关心它就是一个圆。这就是设计中抓住了本质。于是,设计一个Circle(圆)类,数据成员为圆的半径,Circle类还提供计算圆的面积和边长的成员函数。在main函数中,定义一个Circle类的对象,调用成员函数求出旱冰场的造价。
/* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年3月14日 * 版本号:v1.0 */ #include <iostream> using namespace std; const int M=20; //水泥场地每平米造价 const int N=35; //围栏每米造价 class Circle { //下面声明需要的成员函数(从已经提供的main函数中可以找出需要哪些成员函数) public: double area(); void setRadius(double r); double circumference(); private: double radius; }; //下面定义需要的成员函数 void Circle::setRadius(double r) { radius=r; } double Circle::area() { return(3.14*radius*radius); } double Circle::circumference() { return(2*3.14*radius); } int main() { double r; cout<<"请输入旱冰场的半径: "; cin>>r; Circle c; c.setRadius(r); cout<<"旱冰场的造价为 "<<M*c.area()+N*c.circumference()<<" 元。"<<endl; return 0; }
运行结果:
一开始忘记Public的声明一直error,后来终于发现。。。
要记住类的默认权限是Private~
@ Mayuko