标签:style class blog c code ext
方法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"); }
执行结果:
标签:style class blog c code ext
原文地址:http://blog.csdn.net/u010105970/article/details/26551707