第十周 任务三 3-1 先声明点类,在派生出圆类 圆柱类

面向对象求圆的面积和圆柱体积 需要求圆形的面积和圆柱的体积,请编写一个面向对象`的程序,以圆类为基类组合成圆柱形类,查看各类构造函数、复制构造函数和析构造函数调用情况。以实现以下功能: (1)定义构造函数实现圆和圆柱的初始化; (2)圆的面积; (3)圆柱的体积; (4)输出类构造函数、复制构造函数和析构造函数的调用情况。 以上就是问题的描述。 代码: #include "iostream" using namespace s... 阅读详情
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:先声明点类,在派生出圆类 圆柱类
* 作    者:  张启立                           
* 完成日期:  2012年 4 月 16 日
* 版 本 号: 10-3-1   
#include <iostream>

#include<Cmath>   
  
#include<iomanip>   
  
using namespace std;

const double PI = 3.141592653;

class Point//点类声明
{
public:
	Point(){x = 0;y = 0;}
	Point(double x0,double y0):x(x0),y(y0){ }
	~Point(){ }
    double getx(){return x;}  
    double gety(){return y;}  
    friend ostream &operator << (ostream & input, Point & c);  
protected:  
    double x, y;   //点的横坐标和纵坐标   
};
ostream &operator << (ostream & input, Point & c)
{
	input << "点:(" << c.x << "," << c.y << ")";  
  
    return input;  
}
class Circle: public Point   //以点类为基类的派生类
{  
public:  
    Circle(){radius = 0;}  
    Circle(double x0, double y0, double r):Point(x0, y0),radius(r){ }      //构造函数   
    ~Circle(){} 
    double getr(){return radius;}  
	double area1();
    friend ostream &operator << (ostream & out, Circle & c);  
protected:  
    double radius;  
};  
double Circle::area1() //圆形面积
{
	double c_area = PI * getr() * getr();

	return c_area;
}
ostream &operator << (ostream & out, Circle & c)  
{  
    out << "(" << c.getx() << "," << c.gety() << ")" << "为圆心" << c.radius << "为半径的圆";  
  
    return out;  
}  
  
class Cylinder: public Circle  //以圆类为基类的派生类
{  
public:  
    Cylinder(){height = 0;}  
    Cylinder(double x1,double y1, double r1, double h):Circle(x1, y1, r1), height(h){ }  
    ~Cylinder(){}  
    double geth(){return height;}  
    double area2();  
    double volume();  
    friend ostream &operator << (ostream & out, Cylinder & c);  
private:  
    double height;  
};  
   
double Cylinder::area2()  
{  
  
    //double c_area = PI * getr() * getr();  
  
    double c_cir = 2 * PI * getr() * height;   //圆柱侧面积
  
    return (c_cir + 2 * area1());  
}  
  
double Cylinder::volume()  
{  
    return (PI * getr() * getr() * height);  
}  
  
ostream &operator << (ostream & out, Cylinder & c)  
{  
    out << "(" << c.getx() << "," << c.gety() << ")" << "为圆心" << c.radius << "为半径" << c.height << "为高的圆柱体";  
  
    return out;  
}  
  
int main()  
{  
    Cylinder cy(2, 2, 1, 3);  
  
    cout << cy << endl;  
  
    cout << setiosflags(ios::fixed) << setprecision(2);  
  
    cout << "表面积是:" << cy.area2() << endl;  
  
    cout << "体积是:" << cy.volume() << endl;  
  
    system("pause");  
  
    return 0;  
}  

     
第10周任务3(先建立一个Point(点)类,派生出一个Circle(圆)类,再派生出一个Cylinder(圆柱体)类) /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: * 作 者: 臧鹏 * 完成日期: 2012 年 4 月 24 日 * 版 本 阅读详情

相关推荐

点-圆-圆柱类族的设计

/* Copyright (c) 2016* All rights reserved 烟台大学计算机与控制工程学院 * 文件名称:3.cpp * 作者:刘丽 * 完成日期:2016年 4 月 28日 * 版本号: v1.0 * *【项目 - 点-圆-圆柱类族的设计】 按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求

LLmuggles的博客 1809

定义Point(点)类,由Point类派生出Circle(圆)类,再由Circle类派生出Cylinder(圆柱体)类。将类的定义部分分别作为3个头文件

定义Point(点)类,由Point类派生出Circle(圆)类,再由Circle类派生出Cylinder(圆柱体)类。将类的定义部分分别作为3个头文件,对它们的成员函数的声明部分分别作为3个源文件(.cpp文件),在主函数中用#include命令把它们包含进来,形成一个完整的程序,并上机运行。 头文件1: #ifndef POINT_H #define POINT_H #include u

w3071206219的博客 3万+

设计基类点类(Point)、直接派生类圆类(Circle)、间接派生类圆柱体类(Cylinder),将求面积的函数(area)声明成虚函数,并在主函数实现虚函数

C++课后题,写的时候脑子比较乱,也不太会写注释,各位随意看看就好 题目:设计基类点类(Point)、直接派生类圆类(Circle)、间接派生类圆柱体类(Cylinder),将求面积的函数(area)声明成虚函数,并在主函数实现虚函数调用,输出点类、圆类和圆柱体类面积。提示:其他数据成员和成员函数请根据需要自行设计。其他提示:点类面积return 0即可。

以点类Point为基类构造圆类Circle

#include <iostream> using namespace std; class Point{ protected: double x; double y; public: Point(double xv=0,double yv=0);//有参构造 Point(const Point &p); //拷贝构造 ~Point(); //析构函数 .

y0205yang的博客 2620

圆柱圆锥JAVA程序

关于求解圆柱圆锥的JAVA程序。 public class yuanzhuyuanzhui { protected YuanZhu r; protected YuanZhui rr; protected class YuanZhu { public double height; public double radius; public YuanZhu(double height,double radius) { this.height = height; this.radius = radius; } public YuanZhu(YuanZhu r) { this(r.height,r.radius);

NVIDIA Tao Toolkit环境配置踩坑

请搭配食用该文章为 Tao 安装中可能出现的问题进行解答,如果存在本文章中没出现的问题,欢迎提问,由我复现后更新文章。由于大部分云服务器厂商不能支持 docker,因此我使用的环境为2023年5月27日在平台租的 3080 旧版环境进行实验。

qq_36630208的博客 771

第十周实验报告三

* 程序的版权和版本声明部分  * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved.  * 文件名称:  * 作者:李君凯  * 完成日期: 2012年 4月 23日* 版本号:  *对任务及求解方法的描述部分  #include #include #include using namespa

a2425262756的专栏 699

海康门禁二次开发实战:用Java实现员工考勤系统的人脸权限管理

本文详细介绍了如何利用Java技术栈进行海康威视门禁系统的二次开发,实现员工考勤系统的人脸权限管理。从开发环境准备、SDK集成到设备连接、人脸数据批量处理,再到权限管理与异常处理,全面解析了海康门禁对接开发的关键步骤和最佳实践,助力企业构建高效、安全的智能考勤系统。

weixin_29191669的博客 262

第十周C++【任务3】建立一个Point(点)类,派生出一个Circle(圆)类,派生出一个Cylinder(圆柱体)类

【任务3】 (1)先建立一个Point(点)类,包含数据成员x,y(坐标点); (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员 (半径); (3)再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高)。 要求编写程序,设计出各类中基本的成员函数(包括构造函数、析构函数、修改数据成员和获取数据成员的公共接口、用于输出的重载运算符“

pinktinda的专栏 2万+

风-车-桥耦合随机振动预测框架:从物理模型到高效代理

本文提出了一种风-车-桥耦合随机振动预测的混合框架,结合物理模型与代理模型实现高效计算。该框架的核心数学本质是时变参数-随机激励-高维动力系统,主要解决三大计算难点:自由度规模悬殊、时变特性和随机性传播。系统采用分层解耦-代理加速的技术路线,底层基于物理模型建立车辆运动方程和桥梁运动方程,上层通过深度学习代理实现随机激励到响应的端到端映射。文中详细介绍了随机激励建模(包括脉动风速和路面不平度)、子系统建模、耦合求解方法,并提供了可运行的Python代码实现。该框架可显著提高风-车-桥系统随机振动分析的效率,

huanghm88的专栏 102

2024届数字IC秋招-华为机试-数字芯片-笔试真题和答案(三)(含2022年和2023年)

此部分包含华为机试真题,方向是数字芯片,内容详细包括设计、验证、后端等,大部分题目给出参考答案。华为机试都是从题库里抽题目,所以这些题目还是很有参考性的,甚至是完全一样,可以搜到的。(题目内容较多,将分开编写几个文章)A.错误B.正确参考答案:BA.getB.try_getC.peekD.put参考答案:B。

qq_42135020的博客 1917

第十一周实践项目1.3-点-圆-圆柱类族的设计

问题及代码: /* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:77.cpp *作 者:董凯琦 *完成日期:2016年5月6日 *版 本 号:v1.0 * *问题描述:按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积、体积并输出并且完成要求的计算任务: (1)先建立

Asleny的博客 1788

基于Simulink的PID控制防抱死制动系统(ABS)建模与仿真

防抱死制动系统(Anti-lock Braking System,简称ABS)是一种用于防止车辆在紧急制动时车轮完全抱死的技术。通过实时监测车轮速度并调节制动力,ABS能够显著提高车辆的制动性能和操控稳定性,从而减少交通事故的发生。PID(比例-积分-微分)控制器因其结构简单、性能稳定且易于实现而被广泛应用于ABS控制系统中。本项目旨在通过MATLAB/Simulink平台设计和验证一个基于PID控制的ABS系统,重点研究PID参数调优方法、系统动态响应特性以及制动过程中的滑移率控制能力。

MHD0815的博客 484

《第十周任务三》建立point类,以此为基类,派生出圆类和椭圆类

/* (程序头部注释开始)   * 程序的版权和版本声明部分   * Copyright (c) 2011, 烟台大学计算机学院学生    * All rights reserved.   * 文件名称:    C++第十周【任务3】                           * 作    者: 张斌                                * 完成日期

zhangbin9111230的专栏 1902

PCL 点云拟合 最小二乘法拟合平面

在点云处理领域,最小二乘法(Least Squares)拟合是一种常用的数学方法,用于估计数据点的最佳拟合曲线或平面。平面拟合广泛应用于点云数据处理中的地面检测、物体表面分析等任务。 本文将介绍如何使用PCL库实现基于最小二乘法的平面拟合算法,通过拟合点云数据中的平面,来提取出数据的平面部分。

纵马踏花向自由 1026

【云原生技术】helm中Chart.yaml、values.yaml、_helpers.tpl 各自的写法与作用

Chart.yaml、values.yaml、_helpers.tpl 各自的写法与作用 在一个标准的 Helm Chart 中,通常会包含以下关键文件: - **Chart.yaml** - **values.yaml** - **templates/`_helpers.tpl`** - 以及若干模板文件(`deployment.yaml`、`service.yaml` 等) 下面分别介绍这几个文件的作用、常见字段及其含义。

weixin_46453070的博客 751

点类、圆类、圆柱类

【项目4】按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,并且完成要求的计算任务:     (1)先建立一个Point(点)类,包含数据成员x,y(坐标点);     (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员 (半径);     (3)再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高)。      要

u012519969的专栏 2864

团体程序设计天梯赛竞赛题--登顶题【L3-039 攀岩】

登顶级 3 道题,每道题 30 分,满分为 90 分。

Pretty Boy Fox的博客 653

定义一个点类,派生出一个圆类,再由圆类派生出圆柱类

定义一个点类,派生出一个圆类,再由圆类派生出圆柱类。 代码如下: #include <iostream> #include<string> using namespace std; //声明类Point class Point { public: Point(float x=0,float y=0);//有默认参数的构造函数 void setPoint(float,float); //设置坐标值 float getX( ) const {re

m0_52148779的博客 2823

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

第十周任务三之点类及多重派生

源程序: /*(文件注释头部开始) *程序的版权和版本声明部分 *Copyright (c) 2011,烟台大学计算机学院学生 *All rights reserved. *文件名称:point类及其多重派生类 *作 者:2011级计114-3张宗佳 *完成日期:2011年4月24号 *版本号:vc * 对任务及求解方法的描述部分 * 输入描术: * 问题描述: (1)先建立

zongjia618的专栏 990

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

第十周任务三(多重派生的构造函数定义)

/*(程序头部注释开始) 程序的版权和版本声明部分 Copyright (c) 2011, 烟台大学计算机学院学生 All rights reserved. 文件名称: 多重派生的构造函数定义 作 者: 计114-4 冯珍珍 完成日期: 2012 年 4 月 23

印迹 1272

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

第十周任务三 多重继承派生类

/* (程序头部注释开始) * 程序的版权和版本声明部分 .* Copyright (c) 2011, 烟台大学计算机学院学生 .* All rights reserved. .* 文件名称: 第十周任务三 (1)先建立一个Point(点)类,包含数据成员x,y(坐标点); (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员 (半径); (3)再以Ci

shitoujianqiang123的专栏 1157

第十周实验指导--任务3--先建立一个Point(点)类,再派生出一个Circle(圆)类,再派生出一个Cylinder(圆柱体)类...

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:定义Complex类中的&lt;&lt;和&gt;&gt;运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然。 * 作 者: 雷恒鑫 ...

java开发指南博客 【转载】 939

由 圆类 派生出 球、圆锥、圆柱体(Java)

也就是说,一个类不能继承多个类。注意:Java只支持。

2201_75316947的博客 1295

第10周项目 - 点-圆-圆柱类族的设计

/*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:my.cpp *作 者: *完成日期:2016年5月8日 * *问题描述:按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积、体积并输出并且完成要求的计算任务: (1)先建立一个Point(点)类,包含数据成员x,y(坐标点)

zhwhanwen的博客 1186

第十周任务三:派生类的派生

* (程序头部注释开始)  * 程序的版权和版本声明部分  * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved.  * 文件名称:  * 作者:吴瑕  * 完成日期: 2012年 04月 24日  * 版本号:  *对任务及求解方法的描述部分  * 输入描述:(1)先建立一个Point(点)类,包含数据成员x,y(坐标

sdhzwuxia的专栏 538
上一篇: 第十周 任务二 2-1
下一篇: 第十二周 任务一
dizzy12
博客等级 码龄15年 2粉丝 31原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值