使用构造函数初始化三角形类

来源:互联网 发布:电视机看电影软件免费 编辑:程序博客网 时间:2024/05/22 16:03
方法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(){double sum = a + b + c;return sum;}double Triangle::area(){//使用海伦公式计算三角形的面积      double p = (a + b + c) / 2;  double q = p*(p-a)*(p-b)*(p-c);        double s = sqrt(q);        return s;  }void Triangle:: showMessage(){cout<<"三角形的三边长分别为:"<<a<<'\t'<<b<<'\t'<<c<<endl;cout<<"该三角形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<endl<<endl;}void main(void){Triangle Tri2(7,8,9);//定义三角形类的一个实例(对象)Tri2.showMessage();system("pause");}


执行结果:


方法2:设计默认构造函数,即不指定参数时,默认各边长为1;

#include <iostream>#include <cmath>using namespace std;class Triangle{public://默认构造函数Triangle();double perimeter(void);//计算三角形的周长double area(void);//计算并返回三角形的面积void showMessage();private:double a,b,c; //三边为私有成员数据};//使用默认构造函数Triangle::Triangle(){a = 1;b = 1;c = 1;}//计算三角形的周长double Triangle::perimeter(){double sum = a + b + c;return sum;}double Triangle::area(){//使用海伦公式计算三角形的面积      double p = (a + b + c) / 2;  double q = p*(p-a)*(p-b)*(p-c);        double s = sqrt(q);        return s;  }void Triangle:: showMessage(){cout<<"三角形的三边长分别为:"<<a<<'\t'<<b<<'\t'<<c<<endl;cout<<"该三角形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<endl<<endl;}void main(void){Triangle Tri2;//定义三角形类的一个实例(对象)Tri2.showMessage();system("pause");}


执行结果:


方法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(){double sum = a + b + c;return sum;}double Triangle::area(){//使用海伦公式计算三角形的面积      double p = (a + b + c) / 2;  double q = p*(p-a)*(p-b)*(p-c);        double s = sqrt(q);        return s;  }void Triangle:: showMessage(){cout<<"三角形的三边长分别为:"<<a<<'\t'<<b<<'\t'<<c<<endl;cout<<"该三角形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<endl<<endl;}void main(void){Triangle Tri1;//使用默认参数Tri1.showMessage();Triangle Tri2(10,20,40);//使用数据初始化Tri2.showMessage();system("pause");}


执行结果:



方法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(){double sum = a + b + c;return sum;}double Triangle::area(){//使用海伦公式计算三角形的面积      double p = (a + b + c) / 2;  double q = p*(p-a)*(p-b)*(p-c);        double s = sqrt(q);        return s;  }void Triangle:: showMessage(){cout<<"三角形的三边长分别为:"<<a<<'\t'<<b<<'\t'<<c<<endl;cout<<"该三角形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<endl<<endl;}void main(void){Triangle Tri2(11, 10, 5);//定义三角形类的一个实例(对象)Tri2.showMessage();system("pause");}


执行结果:



0 0
原创粉丝点击