「这是我参与2022首次更文挑战的第25天,活动详情查看:2022首次更文挑战
BC140 KiKi设计类继承
描述
KiKi理解了继承可以让代码重用,他现在定义一个基类shape,私有数据为坐标点x,y, 由它派生Rectangle类和Circle类,它们都有成员函数GetArea()求面积。派生类Rectangle类有数据:矩形的长和宽;派生类Circle类有数据:圆的半径。Rectangle类又派生正方形Square类,定义各类并测试。输入三组数据,分别是矩形的长和宽、圆的半径、正方形的边长,输出三组数据,分别是矩形、圆、正方形的面积。圆周率按3.14计算。
输入描述:
输入三行,
第一行为矩形的长和宽,
第二行为圆的半径,
第三行为正方形的边长。
输出描述:
三行,分别是矩形、圆、正方形的面积。
示例1
输入:
7 8
10
5
复制
输出:
56
314
25
复制
#include<stdio.h>
int main()
{
float pi = 3.14;
int c,k,r,b; //长 宽 半径 边长
scanf("%d %d %d %d",&c,&k,&r,&b);
printf("%d\n%g\n%d\n",c*k,pi*r*r,b*b);
}
函数小知识
1.函数不可以嵌套定义,但可以嵌套调用
2.printf() :返回的是打印在屏幕上的字符的个数,如果发生错误,返回负数
3.scanf() :返回成功读到的有效字符个数
4.函数可以链式访问
5.可以使用全局变量传参
6.函数可以没有返回值
7.函数的定义可以放在任意位置,函数的声明必须放在函数的使用之前
- 函数的声明只是告诉编译器函数返回值类型、函数名字以及函数所需要的参数,函数定义才是说明函数是怎么实现的
- 形参是在函数调用的时候才实例化,才开辟内存空间
- 传参时不论是按照值还是指针方式传递,形参拿到的都是实参的一份拷贝
- 形参是在函数调用的时候才实例化,才开辟内存空间
- main函数的位置可以再任意位置,但是如果在主函数之前调用了那些函数,必须在main函数前对其所调用函数进行生命或包含其被调用函数的头文件。
- 在一个函数内复合语句中定义的变量只能在复合语句中使用,并非在本函数范围内有效
- 函数的形参一般都是通过参数压栈的方式传递的,函数中的形式参数是在栈中保存
- 不同的函数属于不同的作用域,因此不同的函数中定义相同名字的变量不会冲突
- 函数内定义的变量,称为局部变量,局部变量只能在其定义的函数中使用,在一个函数内定义的变量只在本函数范围内有效