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

2014-11-23 20:19:10 · 作者: · 浏览: 10
方法1:使用带参数构造函数,即Triangle(double x, double y, double z),三边长在调用时由实参直接给出
#include 
  
   
#include 
   
     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<<"三角形的三边长分别为:"<
     
     


执行结果:

\


< http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+t723qDKjusnovMbErMjPubnU7Lqvyv2jrLy0srvWuLaoss7K/cqxo6zErMjPuPex37Okzqoxo7s8YnI+CjwvcD4KPHByZSBjbGFzcz0="brush:java;">#include #include 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<<"三角形的三边长分别为:"<


执行结果:

\


方法3:使用有默认参数的构造函数,不给定实参时,默认边长为1

#include 
      
       
#include 
       
         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<<"三角形的三边长分别为:"<
         
         


执行结果:

\


方法4:在构造函数中使用参数初始化表对数据成员初始化

#include 
          
           
#include 
           
             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<<"三角形的三边长分别为:"<
             
             


执行结果: