【BigHereo 39】---L12---C++真题之 最后大题代码

2024-08-27 21:48
文章标签 代码 c++ 真题 39 bighereo l12

本文主要是介绍【BigHereo 39】---L12---C++真题之 最后大题代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



L12---C++真题之 最后大题代码

 

 

 

前言:


     不论是数据结构,操作系统,还是C++程序设计, 凡是语言中,必定少不了对语言的运用, 就是生命中的需求,用该语言表达出来,简单的来说,就是进行一个翻译, 考试中,后面大题就是这类,下面先进行一个代码的分析思路和对真题的一个解析:

 

        

 

 

真题:2015年10月 

 

  原题:写一个程序,定义shape,由它派生成3个类,square(正方形),Trapezoid(梯形)和Triangle(三角形),用虚函数计算几个图形面积并求他们的总和:

 

 

 

解答:在书中教材p174

 

首先:头文件声明

   #include <iostream>using namespace std;

 

声明抽象类

 class shape{public:virtual double area()=0;};


  

分别声明每一个类(1,声明要用到的变量;2,声明构造函数; 3,进行计算)

class square: public shape{private:double a, b;public:square(double i, double j): a(i),b(j){}   //将i赋值给a, //或者 square(double i,double j){ a=i; b=j;} ---,构造函数这和上面是一致的//其他三角形,梯形等都是一致的 double area(){ return a*b; }
}


 

 

进行计算  

void mian(){shape *s[5];s[0]=new square(4);s[1]=new triangle(3,6);s[2]=new rectangle(3,6);s[3]=new  circle(10);s[4]=new  square(10);double sum=0.0;
for(int i=0; i<=5;i++)sum+=s[i]->area();cout <<"s["<<i<<"]=" << s[i]->area()<<endl;  //输出每一个的面积大小cout<<"总面积是:"<<sum<<endl;                   //输出总面对大小
}


 



这篇关于【BigHereo 39】---L12---C++真题之 最后大题代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112873

相关文章

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

C++11委托构造函数和继承构造函数的实现

《C++11委托构造函数和继承构造函数的实现》C++引入了委托构造函数和继承构造函数这两个重要的特性,本文主要介绍了C++11委托构造函数和继承构造函数的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录引言一、委托构造函数1.1 委托构造函数的定义与作用1.2 委托构造函数的语法1.3 委托构造函

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

C++11作用域枚举(Scoped Enums)的实现示例

《C++11作用域枚举(ScopedEnums)的实现示例》枚举类型是一种非常实用的工具,C++11标准引入了作用域枚举,也称为强类型枚举,本文主要介绍了C++11作用域枚举(ScopedEnums... 目录一、引言二、传统枚举类型的局限性2.1 命名空间污染2.2 整型提升问题2.3 类型转换问题三、C

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码