题目
设计一个圆类 Circle,包含常量数据成员 Pi、非常量数据成员半径 r、面积 s、常成员函数 printArea 用于输出面积和非常成员函数 getArea 用于计算面积。创建两个该类的常对象和非常对象,尝试通过这两个对象调用两个成员函数,并在代码注释中解释发生了什么以及为什么
代码
head.h
class Circle
{
public:
Circle(float);
void getArea();
float printArea() const;
private:
const float pi = 3.1415926;
float r,s;
};
head.cpp
#include"head.h"
Circle::Circle(float a)
{
r=a;s=0;
}
void Circle::getArea()
{
s=pi*r*r;
}
float Circle::printArea() const
{
return s;
}
main.cpp
#include<iostream>
#include"head.h"
using namespace std;
int main()
{
float r1,r2;
cout << "请输入两个圆的半径"<<endl;
cin >> r1>>r2;
Circle round1(r1);//非常对象
const Circle round2(r2);//常对象
round1.getArea();//计算面积
cout << "圆1的面积:"<<round1.printArea()<<endl;//输出计算后的面积
round2.getArea();//error,常对象不能调用非常成员函数
cout << "圆2的面积:"<<round2.printArea()<<endl;//输出默认初始化的面积
return 0;
}
C++编程:常量与非常量Circle类实例及其成员函数应用
本文介绍了一个名为Circle的C++类,包含常量数据成员Pi和非常量数据成员半径。文章通过实例展示了如何创建常对象和非常对象,并强调了常对象不能调用非常成员函数的规则。
5052

被折叠的 条评论
为什么被折叠?



