第五周项目一----通过增加构造函数使对象在定义时初始化(4种方法统编)
来源:互联网 发布:员工管理系统java和sql 编辑:程序博客网 时间:2024/06/05 03:17
/** 程序的版权和版本声明部分* Copyright (c)2013, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: 三角形类.cpp* 作者: 赵晓晨* 完成日期: 2013 年3 月29日* 版本号: v1.0* 输入描述:无* 问题描述:声明默认构造函数,求三角形周长和面积的类。* 程序输出:三角形的周长和面积*///1.使用带参构造函数,即Triangle(double x,double y,double z),三边长在调用时由实参直接给出;#include<iostream>#include<Cmath>using namespace std;class Triangle{ public: Triangle(double x,double y,double z); //声明带参数的构造函数 double perimeter(void); //计算三角形周长 double area(void); //计算并返回三角形的面积 void showMessage(); private: double a,b,c; //三边为私有成员数据};Triangle::Triangle(double x,double y,double z)//三边在调用时由实参直接给出{ a=x;b=y;c=z;}double Triangle::perimeter(){ return (a+b+c);}double Triangle::area(){ int q=(a+b+c)/2; return sqrt(q*(q-a)*(q-b)*(q-c));}void Triangle::showMessage(){ cout<<"三角形的三条边长分别是:"<<a<<'\t'<<b<<'\t'<<c<<endl; cout<<"该三角形的周长是:"<<perimeter()<<'\t'<<"面积是:"<<area()<<endl<<endl;}int main(void){ Triangle Tri1; //定义三角心类的一个实例,要求执行一个默认构造函数,三边初值均为1 Tri1.showMessage(); Triangle Tri2(7,8,9); //定义三角形类的实例 Tri2.showMessage();return 0;}//2.设计默认构造函数,既不指定参数时,默认各边长为1;#include<iostream>#include<Cmath>using namespace std;class Triangle{ public: Triangle()//定义构造成员函数,函数名与类名成员相同 { a=1; //定义构造函数对对象中的数据成员赋值 b=1; c=1; } Triangle(double x,double y,double z): a(x),b(y),c(z){} //声明默认构造函数 double perimeter(void); double area(void); void showMessage(); private: double a,b,c;};double Triangle::perimeter(){ return (a+b+c);}double Triangle::area(){ double q=(a+b+c)/2; return sqrt(q*(q-a)*(q-b)*(q-c));}void Triangle::showMessage(){ cout<<"三角形的三条边长分别是:"<<a<<'\t'<<b<<'\t'<<c<<endl; cout<<"该三角形的周长是:"<<perimeter()<<'\t'<<"面积是:"<<area()<<endl<<endl;}int main(void){ Triangle Tri1; //定义三角心类的一个实例,要求执行一个默认构造函数,三边初值均为1 Tri1.showMessage(); Triangle Tri2(7,8,9); //定义三角形类的实例 Tri2.showMessage();return 0;}//3.使用有默认参数的构造函数,不给定实参时,默认边长为1;#include<iostream>#include<Cmath>using namespace std;class Triangle{ public:Triangle(double x=1,double y=1,double z=1); double perimeter(void); double area(void); void showMessage(); private: double a,b,c;};Triangle::Triangle(double x,double y,double z)//三边在调用时由实参直接给出{ a=x;b=y;c=z;}double Triangle::perimeter(){ return (a+b+c);}double Triangle::area(){ double q=(a+b+c)/2; return sqrt(q*(q-a)*(q-b)*(q-c));}void Triangle::showMessage(){ cout<<"三角形的三条边长分别是:"<<a<<'\t'<<b<<'\t'<<c<<endl; cout<<"该三角形的周长是:"<<perimeter()<<'\t'<<"面积是:"<<area()<<endl<<endl;}int main(void){ Triangle Tri1; //定义三角心类的一个实例,要求执行一个默认构造函数,三边初值均为1 Tri1.showMessage(); Triangle Tri2(7,8,9); //定义三角形类的实例 Tri2.showMessage();return 0;}//4.在构造参数中使用参数初始化表对数据成员初始化#include<iostream>#include<Cmath>using namespace std;class Triangle{ public: Triangle(double x,double y,double z): a(x),b(y),c(z){}//参数初始化表 double perimeter(void); //计算三角形周长 double area(void); //计算并返回三角形的面积 void showMessage(); private: double a,b,c; //三边为私有成员数据};double Triangle::perimeter(){ return (a+b+c);}double Triangle::area(){ int q=(a+b+c)/2; return sqrt(q*(q-a)*(q-b)*(q-c));}void Triangle::showMessage(){ cout<<"三角形的三条边长分别是:"<<a<<'\t'<<b<<'\t'<<c<<endl; cout<<"该三角形的周长是:"<<perimeter()<<'\t'<<"面积是:"<<area()<<endl<<endl;}int main(void){ Triangle Tri1; //定义三角心类的一个实例,要求执行一个默认构造函数,三边初值均为1 Tri1.showMessage(); Triangle Tri2(7,8,9); //定义三角形类的实例 Tri2.showMessage();return 0;}
结果:
体会:
晕了。。。。。。。。求质量吧,真心想把这门课程学好,加油吧菜鸟晨晨。
- 第五周项目一----通过增加构造函数使对象在定义时初始化(4种方法统编)
- 第五周任务1:设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化
- 五周任务一:设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化
- 《第五周实验报告1-1》---增加构造函数,使对象在定义时能够进行初始化
- 《第五周实验报告1-2》---增加构造函数,使对象在定义时能够进行初始化
- 《第五周实验报告1-3》---增加构造函数,使对象在定义时能够进行初始化
- 设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化2
- 设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化
- 【任务1】设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化
- 设计三角形类,通过增加构造函数,是对象在定义是能够进行初始化
- 第五周项目一1.4 在构造函数中使用参数初始化表对数据成员初始化
- 第五周项目一构造函数————4)参数初始化表
- 《第五周任务一4》设计三角形,增加构造函数
- 设计三角形类通过增加构造函数,使定义初始化(1)
- 第五周项目1.4在构造函数中使用参数初始化表对数据成员初始化
- 第五周项目一使用默认带参数的构造函数定义三角形的类
- 第五周 项目1 (2) 在构造函数中使用参数初始化表对数据初始化
- 第五周项目一:三角形类(构造函数)@(1)
- requestWindowFeature()的应用
- 圆角层样式
- mysql 游标使用
- android33——意图过滤器
- servlet 读取相对路径 读取本地文件
- 第五周项目一----通过增加构造函数使对象在定义时初始化(4种方法统编)
- nf_hook_ops 钩子的注册
- 微软公司等数据结构+算法面试100题(第1-100题)全部出炉
- 重载debug版本的operator new和operator delete
- PHPUnit单元测试系列一 -- 单测的意义
- MongoDB安装
- DP file *2
- android34_android自定义权限
- http://poj.org/problem?id=3624