第十一周项目1-点-圆-圆柱类族的设计(2)
2016-05-06 10:34
363 查看
问题及代码:
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:zwj.cpp
*作 者:张伟晶
*完成日期:2016年5月4日
*版 本 号:v1.0
*
*问题描述:按照提示,从基类开始逐渐完成点——圆——圆柱类族的设计。
*输入描述:
*程序输出:
*/
#include<iostream>
using namespace std;
class Point
{
public:
Point(double a=0,double b=0);
void show_point();
double getx(){return x;}
double gety(){return y;}
protected:
double x;
double y;
};
class Circle:public Point
{
protected:
double r;
public:
Circle(double a,double b,double c):Point(a,b),r(c){}
double area();
void show_circle();
};
Point::Point(double a,double b)
{
x=a;
y=b;
}
void Point::show_point()
{
cout<<"点的坐标为:"<<x<<","<<y<<endl;
}
double Circle::area()
{
return r*r*3.1415926 ;
}
void Circle::show_circle()
{
cout<<"圆的面积为:"<<area()<<endl;
}
int main()
{
Point p1(1,2);
Circle r1(1,2,2.0);
p1.show_point();
r1.show_circle();
return 0;
}
运行结果:
知识点总结:
派生类构造函数:
①基类的构造函数不被继承,派生类中要声明自己的构造函数。
②定义构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化,也可以自动调用基类构造函数完成。
③要保证在基类中定义了派生类需要的构造函数。
学习心得:
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:zwj.cpp
*作 者:张伟晶
*完成日期:2016年5月4日
*版 本 号:v1.0
*
*问题描述:按照提示,从基类开始逐渐完成点——圆——圆柱类族的设计。
*输入描述:
*程序输出:
*/
#include<iostream>
using namespace std;
class Point
{
public:
Point(double a=0,double b=0);
void show_point();
double getx(){return x;}
double gety(){return y;}
protected:
double x;
double y;
};
class Circle:public Point
{
protected:
double r;
public:
Circle(double a,double b,double c):Point(a,b),r(c){}
double area();
void show_circle();
};
Point::Point(double a,double b)
{
x=a;
y=b;
}
void Point::show_point()
{
cout<<"点的坐标为:"<<x<<","<<y<<endl;
}
double Circle::area()
{
return r*r*3.1415926 ;
}
void Circle::show_circle()
{
cout<<"圆的面积为:"<<area()<<endl;
}
int main()
{
Point p1(1,2);
Circle r1(1,2,2.0);
p1.show_point();
r1.show_circle();
return 0;
}
运行结果:
知识点总结:
派生类构造函数:
①基类的构造函数不被继承,派生类中要声明自己的构造函数。
②定义构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化,也可以自动调用基类构造函数完成。
③要保证在基类中定义了派生类需要的构造函数。
学习心得:
相关文章推荐
- Oracle 11g之LogMiner常用场景
- 纪念一下
- 内存管理(malloc和free用法)
- 设计模式C++学习笔记之十二(Command命令模式)
- 说说Android中的style和theme
- Mysql学习总结(15)——Mysql错误码大全
- Mysql学习总结(15)——Mysql错误码大全
- [一起学Hive]之七-向Hive表中加载数据
- [一起学Hive]之六-Hive的动态分区
- 蓝桥杯 幂一矩阵 2014年JavaB组决赛第5题
- 国内外各种建站免费面板和一键包汇总
- Mysql学习总结(15)——Mysql错误码大全
- springMVC dao层中通过反射获取entityClass
- 添加Page_Init事件
- Request获取url各种信息的方法
- 织梦dedecms中arclist标签下无法嵌套图片<img>
- CSS命名规范
- How many ways??(HDU 2157)
- SocketChannel类(用于阻塞或非阻塞式传输数据) 创建SocketChannel要使用SocketChannel类的静态工厂方法。 SocketChannel open():创建未连接的
- leetcode--Remove Element