[置顶] 第五周项目一构造函数————4)参数初始化表
/*
【项目1】设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: object.cpp
* 攻城菜鸟:蛋蛋
* 完成日期: 2013年 4 月 2 日
* 版本号: v1.0
* 输入描述:用参数初始化表给三角形三边赋初值
* 问题描述:设计求三角形周长和面积的类。
* 程序输出:三角形的周长和面积
* 感悟:开始有点晕,没理解老师的意思(ps:老师讲晕的,嘿嘿。。)现在明白了,原来第一种和第二种是在一个程序中的两个构造函数,唉。。。。。
*/
#include<iostream>
#include<cmath>
using namespace std;
class Triangle
{public:double perimeter(void);//计算三角形的周长double area(void);//计算并返回三角形的面积void showMessage();//Triangle();Triangle(double x=1,double y=1,double z=1):a(x),b(y),c(z){};
private:double a,b,c; //三边为私有成员数据
};
/*Triangle::Triangle(){
a=1;
b=1;
c=1;
}*/
/*Triangle::Triangle(double x,double y,double z):a(x),b(y),c(z){
a=x;
b=y;
c=z;
}*/
void Triangle:: showMessage(){cout<<"三角形的三边长分别为:"<<a<<" "<<b<<" "<<c<<endl;cout<<"该三角形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<endl;
}
double Triangle::perimeter(void){
return a+b+c;
}
double Triangle::area(void){
double s,p;
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
void main(void)
{Triangle Tri1; //定义三角形类的一个实例(对象),要求执行一个默认构造函数,三边初值均为1Tri1.showMessage();Triangle Tri2(7,8,9); //定义三角形类的一个实例(对象)Tri2.showMessage();
}
/*
特别要求:为全面体会构造函数的各种写法,本任务要求提交多个版本的程序,体现出你已经掌握下列知识点(带参数构造函数、默认构造函数、有默认参数的构造函数、参数初始化表,先将这些个概念看书了解了。):(1)使用带参数构造函数,即Triangle(double x, double y, double z),三边长在调用时由实参直接给出;(2)设计默认构造函数,即不指定参数时,默认各边长为1;(3)使用有默认参数的构造函数,不给定实参时,默认边长为1;(4)在构造函数中使用参数初始化表对数据成员初始化。
*/
转载于:https://www.cnblogs.com/jiangu66/archive/2013/04/02/2996675.html
[置顶] 第五周项目一构造函数————4)参数初始化表相关推荐
- C++构造函数的参数初始化表
对于常量类型和引用类型的数据成员,不能在构造函数中用赋值语句直接赋值,C++提供初始化表进行置初值. 带有成员初始化表的构造函数的一般形式如下: 类名::构造函数名([参数表])[:(成员初始化表)] ...
- 第五周 项目二 建立链栈算法库
/* Copyright (c)2017,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第5周项目2--建立链栈算法库.cpp 作 者:孙仁圆 完成日期:2017年 ...
- python第五周项目答案_工作页python流程控制(第五周 ).doc_学小易找答案
[单选题]Mary is ()hardworking than her sister, but she failed in the exam. (5.0分) [单选题]设a.b为float型变量,则以 ...
- PyQt5 技术篇-设置窗口置顶不生效问题原因,setWindowFlags()设置参数后不生效解决办法
可能情况:被覆盖 Dialog.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) # 设置窗口置顶 Dialog.setWindowFlags(QtCore ...
- 第五周项目2-对象作为数据成员
回想Engineer类的数据成员,有眼镜.背包等.某Engineer的眼镜.背包,是Glass.Bag类的对象.类中的数据成员,其类型可以是简单类型,也可以是类.通过这种方式,将某些类组合到另外的类中 ...
- 第五周项目3-用多文件组织多个类的程序
将项目2用"一个项目多个文件"的方式实现,其中两个类的声明放在同一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件.体会这样安排的优点. class.h # ...
- 第十五周 项目一 (3)验证交换排序
/* * Copyright (c)2017,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:项目1-3.cbp * 作 者:孙仁圆 * 完成日期:2017年 ...
- 第五周项目-建立顺序栈算法库
建设自己的专业基础设施算法库. 顺序栈算法库采用程序的多文件组织形式,包括两个文件: 1.头文件:sqstack.h,包含定义顺序栈数据结构的代码.宏定义.要实现算法的函数的声明: [csharp] ...
- 第五周项目三-时间类(1)
<p> </p><div>/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cp ...
最新文章
- IO流(二)转换流、序列化、commons-IO框架
- 使用 EclEmma 来显示代码覆盖率
- iOS: iOS各种设备信息获取
- 【C语言】中的版本规范(C89 C99等)
- python读取多通道信号中的一个通道_RFID多通道读写器的具体应用
- VIP4.0-MQ消息中间件在分布式系统中的作用
- 图解使用Win8Api进行Metro风格的程序开发十二----上下文菜单
- mysql 日志大小_查看mysql日志文件大小和数据库大小
- Android ListView + ArrayAdapter、SimpleAdapter、BaseAdapter实现列表
- php 修改文件的权限_php修改文件权限
- Windows窗口程序设计入门(C#版)
- mac os修改默认的Python解释器版本
- java httpclient重定向_HTTPClient重定向
- OPPO对诺基亚发起5G专利侵权诉讼
- RGB颜色对照表(数值+英文,Markdown可用)
- babel-polyfill解决vue框架项目IE无法打开问题
- iOS 九宫格键盘的UIKeyboardTypeNumbersAndPunctuation默认类型
- 【头歌实验】五、Python循环结构
- 更改设置让Cheat Engine搜索安卓模拟器里的数据
- C#简单实现控制台2048
热门文章
- tuning 02 Diagnostic and Tuning Tools
- [WildPackets.OmniPeek].OmniPeek.4.0.1
- Android View添加 Listener 小技巧示例
- 恢复Cisco路由器口令
- Vlan9.com论坛 2007-10-30精华技术文档
- [Java] 蓝桥杯ADV-65 算法提高 格子位置
- 【note】Head First Java笔记
- mongodb最大连接数、最大连接数修改
- MySQL Workbench 的安全设置
- 中国人工智能学会通讯——基于视频的行为识别技术 1.5 基于深度学习的视频识别方法...