首页 > 代码库 > 使用构造函数初始化三角形类
使用构造函数初始化三角形类
方法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"); }
执行结果:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。