第3周项目1-三角形类的构造函数
来源:互联网 发布:tidb java 编辑:程序博客网 时间:2024/05/14 15:34
编号及代码:/**Copyright(c)2015,烟台大学计算机与工程学院*All rights reserved;*文件名称:score.cpp*作者:范星月*完成日期:2015年3月27日*版本号:v1.0**问题描述:设计三角形类,通过增加构造函数,使对象定义时能够进行初始化,可以由下面的类声明开始,需要自己实现相关的成员函数,以及增加要求的构造函数*问题输入:无*问题输出:按要求输出*/1.使用带参数的构造函数,三边长在调用时由实参给出#include <iostream>using namespace std;class Triangle{public: Triangle(double x,double y,double z):a(x),b(y),c(z){}; double perimeter(); double area(); void showMessage();private: double a,b,c;};double Triangle::perimeter(){ return a+b+c;}double Triangle::area(){ double p; p=(a+b+c)/2; return p*(p-a)*(p-b)*(p-c);}void Triangle::showMessage(){ cout<<"三角形的边长分别为:"<<a<<" "<<b<<" "<<c<<endl; cout<<"该三角形的周长为:"<<perimeter()<<",面积为:"<<area()<<endl<<endl;}int main(){ Triangle Tri(7,8,9); Tri.showMessage(); return 0;}2.设计默认构造函数,即不指定参数时,默认各个边长为1#include <iostream>using namespace std;class Triangle{public: Triangle(double x=1,double y=1,double z=1):a(x),b(y),c(z){}; double perimeter(); double area(); void showMessage();private: double a,b,c;};double Triangle::perimeter(){ return a+b+c;}double Triangle::area(){ double p; p=(a+b+c)/2; return p*(p-a)*(p-b)*(p-c);}void Triangle::showMessage(){ cout<<"三角形的边长分别为:"<<a<<" "<<b<<" "<<c<<endl; cout<<"该三角形的周长为:"<<perimeter()<<",面积为:"<<area()<<endl<<endl;}int main(){ Triangle Tri; Tri.showMessage(); return 0;}3. 使用默认构造函数,即不指定参数时,默认各个边长为1,注意这个版本也只需要一个构造函数即可#include <iostream>using namespace std;class Triangle{public: Triangle(double x=1,double y=1,double z=1):a(x),b(y),c(z){}; double perimeter(); double area(); void showMessage();private: double a,b,c;};double Triangle::perimeter(){ return a+b+c;}double Triangle::area(){ double p; p=(a+b+c)/2; return p*(p-a)*(p-b)*(p-c);}void Triangle::showMessage(){ cout<<"三角形的边长分别为:"<<a<<" "<<b<<" "<<c<<endl; cout<<"该三角形的周长为:"<<perimeter()<<",面积为:"<<area()<<endl<<endl;}int main(){ Triangle Tri1; Tri1.showMessage(); Triangle Tri2(1.5); Tri2.showMessage(); Triangle Tri3(1.5,1.5); Tri2.showMessage(); Triangle Tri4(7,8,9); Tri4.showMessage(); return 0;}
学习总结:带参数的构造函数:
声明为:构造函数名(类型1 形参1,类型2,形参2)
定义为:类名 对象名(实参1,实参2)
默认构造函数:
声明为:Box(int h=10,int w=10,int len=10)
定义为:Box::Box(int h,int w,int len)
参数初始化表:Box(int h=10,int w=10,int len=10):height(h),width(w),length(l){};
学习了构造函数的几种形式
0 0
- 第3周项目1-三角形类的构造函数
- 第3周-项目1-三角形类的构造函数-有默认参数的构造函数
- 第3周-项目1-三角形类的构造函数-使用带参数构造函数
- 第3周-项目1-三角形类的构造函数-默认构造函数
- 第4周项目1三角形类的构造函数
- 第4周项目1-三角形类的构造函数
- 第四周 【项目1-三角形类的构造函数】<3>
- 第四周项目1(3)-三角形类的构造函数
- 第4周项目1-三角形类的构造函数(2)-默认构造函数
- 第3周项目1-三角形类的构造函数(1、带参数的构造函数)
- 第4周项目1-三角形类的构造函数(3)-使用有默认参数的构造函数
- 第3周项目1-三角形类的构造函数(3)
- 第4周项目1-三角形类的构造函数(1)、(2)、(3)
- 第4周项目1——三角形类的构造函数(3)
- 第4周项目1-三角形类的构造函数(3)
- 第4周项目1三角形类的构造函数(3)
- 第05周:项目一:三角形类的构造函数
- 第4周项目三角形类的构造函数
- 文件描述符和文件指针的区别
- 随手记
- 浅谈网络游戏的设计--服务器端编程
- 设计模式-模板方法模式(templateMethod pattern)
- gdb使用多进程多线程2
- 第3周项目1-三角形类的构造函数
- 简单封装Jackson,实现JSON String<->Java Object的Mapper.
- CentOS上Oracle 11gR2创建数据库
- jdk动态代理和CGlib动态代理
- CALayer 的简单使用
- GOOD_JSTL配置问题:According to TLD or attribute directive in tag file
- mark 一下,可能用得到
- 利用SuperObject 循环处理Json深层次的值
- LeetCode 96 Unique Binary Search Trees 解题报告