《面向对象程序设计》课程作业 (二)-程序员宅基地

GitHub

对文件分离的感想

第一从直观上来讲,看起来整洁多了,代码架构更漂亮。以后写成千上百行代码的时候,也不会从头一鼓作气写到尾,看着也难受,找bug也难受。

第二是这种做法大大方便了找bug,如果有错误能较快的找到。

第三是模块的作用就体现出来了,现在写的几十行代码也许没太大的感受,但如果未来开发大型项目的时候,工程量巨大,这时候让不同程序员开发不同的模块,大大提高了效率。


附:(github上的注释貌似乱码掉了……)

头文件

#include <iostream>
#ifndef CIRCLE_H
#define CIRCLE_H

double calculate(double r); //头文件声明计算函数

#endif

主函数

#include <iostream>
#include "Circle_H.h"

using namespace std;

int main()
{
    double s=0,r=0; //s:面积 r:半径
    cin >> r;      //输入半径
    s = calculate(r); //计算面积
    cout << s << endl; //输出面积
    return 0;
}

外部函数

#include <iostream>
#include "Circle_H.h"
const double pi = 3.14; //定义pi

using namespace std;

double calculate(double r)
{
    return (pi*r*r); //计算圆的面积
}

转载于:https://www.cnblogs.com/ctsyx/p/6771598.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30363981/article/details/95071950

智能推荐

产品方法论总结(7)——产品服务设计的几个核心要点-程序员宅基地

文章浏览阅读329次。前面总结的方法比较宏观,今天汇总了一下,分享一下产品在服务设计时具体的3个核心要点,分别是:用户故事、峰值&终值、上瘾机制、口碑。 第一,用户故事。简单解释一下就是,先向用户展示产品的功能和目的,再把一系列用户故事呈现给新用户,让新用户清楚的明白我的产品有哪些用户用了,而且也可以知道用的怎么样,通过用户故事,不断攻破新用户的心理防御,进而去尝试使用产品,分享自己的..._产品线服务要点

一台电脑安装两个jdk的方法_一个电脑下载两个gbk可以吗-程序员宅基地

文章浏览阅读3.2k次,点赞2次,收藏25次。一台电脑安装两个jdk你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。1.安装先将两个jdk安装上,记住各自的安装路径。2.配置环境变量打开环境变量 ,右击“计算机”,点击“属性”,–>“高级系统设置”—>“环境变量”;新建两个系统变量,第一个变量..._一个电脑下载两个gbk可以吗

BZOJ 1202: [HNOI2005]狡猾的商人 并查集_bzoj1202:狡猾的商人 并查集-程序员宅基地

文章浏览阅读193次。1202: [HNOI2005]狡猾的商人Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3934 Solved: 1896 [Submit][Status][Discuss]Description刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的。账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i=1,2,3_bzoj1202:狡猾的商人 并查集

深度学习tensorflow --- 男人变女人2_input_nc-程序员宅基地

文章浏览阅读779次。介绍CycleGAN网络具有很强大的风格迁移功能。能够实现非常深层次的风格转换。比如男性图片女性化或者女性图片男性化。先上效果图:下面简单谈一谈实现原理。网络结构网络结构如图所示,通过两个循环使用的生成器来进行风格迁移。由此实现了非常神奇的效果。下面结合代码来详细解释一下网络结构。训练生成对抗网络的深度学习框架为Pytorch。1. 残差模块定义class R..._input_nc

Codesys中关于字符串的处理_codesys字符串插值-程序员宅基地

文章浏览阅读5.5k次,点赞3次,收藏15次。最近在Codesys中编程中遇到了字符串的处理问题,学习了一些前辈方法,顺便记录一下:readdataMid:="[shake:A1;]";1.查找字符串是否存在对应的字符串(单独使用需要指定字符串位置,即协议定死)verifyStr: STRING(5);verifyStr:=(MID(readdataMid,5,1));bverifyStrOk:=(verifyStr='s..._codesys字符串插值

对数组进行排序:使用冒泡排序进行降序排列,使使用Arrays类中sort方法进行升序排序_想要用java.util.arrays类的sort方法对person数组按照年龄升序进行排序,下面-程序员宅基地

文章浏览阅读1.8k次,点赞7次,收藏2次。package 数组练习01;import java.util.Arrays;public class test02 {///冒泡排序 public static void main(String[] args) { // TODO Auto-generated method stub int [] nums = {12,56,23,45,44,11}; Sys..._想要用java.util.arrays类的sort方法对person数组按照年龄升序进行排序,下面

随便推点

python 登录接口_(转载)Python 的 OAuth 登录接口 python-oauth2-程序员宅基地

文章浏览阅读288次。前言python-oauth2 是 Python 语言的 OAuth 2 的实现,包括客户端和服务器端。该项目经过完整的测试。它拥有一下特点:100%单元测试覆盖。完全去掉了DataStore对象。所有的类名不再带有OAuth前缀。Request类生产字典对象。不再支持Python2.3。Client类是在httplib2基础上进行的扩展。文档中的示例全用的是Twitter,包括以下内容:基本的T..._python-oauth2

web-view的H5页面向小程序传值_webview 向小程序传值 必须页面消失么-程序员宅基地

文章浏览阅读1.7k次。需求:小程序嵌入H5页面,并需要H5中的参数请求数据思路: 在H5中判断是否是微信小程序中 ====》在小程序环境中传值给微信小程序 ====》微信小程序接收H5传递的值实现:H5中var ua = window.navigator.userAgent.toLowerCase();if (ua.match(/MicroMessenger/i) == 'micromessenger') { //判断是否是微信环境 // 微信环境 wx.miniProgram.getEn_webview 向小程序传值 必须页面消失么

(3-2)networkx之用graph绘制简单图_nx.graph-程序员宅基地

文章浏览阅读5.7k次,点赞13次,收藏63次。1.graph的各种图形2.一次性绘制多张graph图3.绘图方式的比较4.极其重要的图:ER图,小世界网络,规则网络,无标度网络,空手道俱乐部5.创建自定义的图象_nx.graph

Sentinel 介绍与微服务整合_1、新建微服务,整合sentinel-程序员宅基地

文章浏览阅读1.4k次。随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址https国人开的,文档也友好,非常nice。......_1、新建微服务,整合sentinel

HTML5面试题-HTML5 如何实现离线缓存,有什么特点?_h5离线缓存面试题-程序员宅基地

文章浏览阅读344次。HTML5 如何实现离线缓存,有什么特点实现:缓存清单一个普通文本文件,其中列出了浏览器应缓存以供离线访问的资源,推荐使用 .appcache 为后缀名例如我们创建了一个名为 demo.appcache 的文件,然后在需要应用缓存在页面的根元素(html)添加属性manifest="demo.appcache",路径要保证正确。manifest 文件格式顶行写 CACH..._h5离线缓存面试题

Verilog时钟分频模块设计_veriloog3096分频-程序员宅基地

文章浏览阅读1.1w次,点赞22次,收藏115次。目录1 偶分频模块2 奇分频模块3 任意占空比的任意分频转载自https://blog.csdn.net/moon9999/article/details/75020355/1 偶分频模块偶分频模块设计较为简单,首先确定分频系数M和计数器值N:M=时钟输入频率时钟输出频率 M = \frac{时钟输入频率}{时钟输出频率} M=时钟输出频率时钟输入频率​ N=M2 N = \frac{M}{2} N=2M​若输入时钟是50Mhz,输出时钟是1hz,则M=50_000_000,N=25_0_veriloog3096分频