第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
原创粉丝点击