/*
【项目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)参数初始化表相关推荐

  1. C++构造函数的参数初始化表

    对于常量类型和引用类型的数据成员,不能在构造函数中用赋值语句直接赋值,C++提供初始化表进行置初值. 带有成员初始化表的构造函数的一般形式如下: 类名::构造函数名([参数表])[:(成员初始化表)] ...

  2. 第五周 项目二 建立链栈算法库

    /* Copyright (c)2017,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第5周项目2--建立链栈算法库.cpp 作 者:孙仁圆 完成日期:2017年 ...

  3. python第五周项目答案_工作页python流程控制(第五周 ).doc_学小易找答案

    [单选题]Mary is ()hardworking than her sister, but she failed in the exam. (5.0分) [单选题]设a.b为float型变量,则以 ...

  4. PyQt5 技术篇-设置窗口置顶不生效问题原因,setWindowFlags()设置参数后不生效解决办法

    可能情况:被覆盖 Dialog.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) # 设置窗口置顶 Dialog.setWindowFlags(QtCore ...

  5. 第五周项目2-对象作为数据成员

    回想Engineer类的数据成员,有眼镜.背包等.某Engineer的眼镜.背包,是Glass.Bag类的对象.类中的数据成员,其类型可以是简单类型,也可以是类.通过这种方式,将某些类组合到另外的类中 ...

  6. 第五周项目3-用多文件组织多个类的程序

    将项目2用"一个项目多个文件"的方式实现,其中两个类的声明放在同一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件.体会这样安排的优点. class.h # ...

  7. 第十五周 项目一 (3)验证交换排序

    /* * Copyright (c)2017,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:项目1-3.cbp * 作 者:孙仁圆 * 完成日期:2017年 ...

  8. 第五周项目-建立顺序栈算法库

    建设自己的专业基础设施算法库. 顺序栈算法库采用程序的多文件组织形式,包括两个文件: 1.头文件:sqstack.h,包含定义顺序栈数据结构的代码.宏定义.要实现算法的函数的声明: [csharp]  ...

  9. 第五周项目三-时间类(1)

    <p> </p><div>/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cp ...

最新文章

  1. IO流(二)转换流、序列化、commons-IO框架
  2. 使用 EclEmma 来显示代码覆盖率
  3. iOS: iOS各种设备信息获取
  4. 【C语言】中的版本规范(C89 C99等)
  5. python读取多通道信号中的一个通道_RFID多通道读写器的具体应用
  6. VIP4.0-MQ消息中间件在分布式系统中的作用
  7. 图解使用Win8Api进行Metro风格的程序开发十二----上下文菜单
  8. mysql 日志大小_查看mysql日志文件大小和数据库大小
  9. Android ListView + ArrayAdapter、SimpleAdapter、BaseAdapter实现列表
  10. php 修改文件的权限_php修改文件权限
  11. Windows窗口程序设计入门(C#版)
  12. mac os修改默认的Python解释器版本
  13. java httpclient重定向_HTTPClient重定向
  14. OPPO对诺基亚发起5G专利侵权诉讼
  15. RGB颜色对照表(数值+英文,Markdown可用)
  16. babel-polyfill解决vue框架项目IE无法打开问题
  17. iOS 九宫格键盘的UIKeyboardTypeNumbersAndPunctuation默认类型
  18. 【头歌实验】五、Python循环结构
  19. 更改设置让Cheat Engine搜索安卓模拟器里的数据
  20. C#简单实现控制台2048

热门文章

  1. tuning 02 Diagnostic and Tuning Tools
  2. [WildPackets.OmniPeek].OmniPeek.4.0.1
  3. Android View添加 Listener 小技巧示例
  4. 恢复Cisco路由器口令
  5. Vlan9.com论坛 2007-10-30精华技术文档
  6. [Java] 蓝桥杯ADV-65 算法提高 格子位置
  7. 【note】Head First Java笔记
  8. mongodb最大连接数、最大连接数修改
  9. MySQL Workbench 的安全设置
  10. 中国人工智能学会通讯——基于视频的行为识别技术 1.5 基于深度学习的视频识别方法...