1-8 常成员函数&(非)常对象-圆类

题目

设计一个圆类 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;
}

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值