C++第八章 类和对象(二)

来源:互联网 发布:ibeacon 三角定位算法 编辑:程序博客网 时间:2024/06/06 02:43

【项目1 - 三角形类】下面设计一个三角形类,请给出各成员函数的定义

#include<iostream>#include<cmath>using namespace std;class Triangle{public:void Setabc(double x, double y, double z);//置三边的值,注意要能成三角形void Getabc(double*x, double*y, double*z);//取三边的值double Perimeter(void);//计算三角形的周长double Area(void);//计算并返回三角形的面积private:double a,b,c; //三边为私有成员数据};int main(void){Triangle  Tri1;//定义三角形类的一个实例(对象)Tri1.Setabc(4,5,6);//为三边置初值double x,y,z;Tri1.Getabc (&x,&y,&z);   //将三边的值为x,y,z赋值cout<<"三条边为:"<<x<<"  "<<y<<"  "<<z<<endl;cout<<"三角形的周长为:"<< Tri1.Perimeter()<<'\t'<<"面积为:"<< Tri1.Area()<<endl;return 0;}//请在下面定义Triangle类中的各个成员函数void Triangle::Setabc(double x, double y, double z){    a=x;b=y;c=z;}void Triangle::Getabc(double*x, double*y, double*z){    (*x)=a;(*y)=b;(*z)=c;}double Triangle::Perimeter(void){    return a+b+c;}double Triangle::Area(void){    double p=Perimeter()/2;    return sqrt(p*(p-a)*(p-b)*(p-c));}//两个问题1.f(void)2,传递指针,引用、 
【项目2 - 三角形类】程序功能同项目1,main()函数如下,请定义类Triangle,其中逻辑特别简单的set和get成员函数,可以处理为内置成员函数,直接在类内定义。

[cpp] view plaincopyprint?
  1. int main()  
  2. {   Triangle tri1;  //定义三角形类的一个实例(对象)  
  3.     double x,y,z;  
  4.     cout<<"请输入三角形的三边:";  
  5.     cin>>x>>y>>z;  
  6.     tri1.setA(x);tri1.setB(y);tri1.setC(z); //为三边置初值  
  7.     if(tri1.isTriangle())  
  8.     {   
  9.         cout<<"三条边为:"<<tri1.getA()<<','<<tri1.getB()<<','<<tri1.getC()<<endl;  
  10.         cout<<"三角形的周长为:"<< tri1.perimeter()<<'\t'<<"面积为:"<< tri1.area()<<endl;  
  11.     }  
  12.     else  
  13.         cout<<"不能构成三角形"<<endl;  
  14.     system("pause");  
  15.     return 0;  

#include<iostream>#include<cmath>using namespace std;class Triangle{public:void setA(double);void setB(double);void setC(double);double getA();double getB();double getC();bool isTriangle();double Perimeter(void);//计算三角形的周长double Area(void);//计算并返回三角形的面积private:double a,b,c; //三边为私有成员数据};void Triangle::setA(double x){    a=x;}void Triangle::setB(double x){    b=x;}void Triangle::setC(double x){    c=x;}double Triangle::getA(){return a;};double Triangle::getB(){return b;};double Triangle::getC(){return c;};double Triangle::Perimeter(void){    return a+b+c;}double Triangle::Area(void){    double p=Perimeter()/2;    return sqrt(p*(p-a)*(p-b)*(p-c));}bool Triangle::isTriangle(){    if(a+b>c&&a+c>b&&b+c>a)    return true;    else    return false;}int main(){Triangle tri1;//定义三角形类的一个实例(对象)double x,y,z;cout<<"请输入三角形的三边:";cin>>x>>y>>z;tri1.setA(x);tri1.setB(y);tri1.setC(z);//为三边置初值if(tri1.isTriangle()){cout<<"三条边为:"<<tri1.getA()<<','<<tri1.getB()<<','<<tri1.getC()<<endl;cout<<"三角形的周长为:"<< tri1.Perimeter()<<'\t'<<"面积为:"<< tri1.Area()<<endl;}elsecout<<"不能构成三角形"<<endl;system("pause");return 0;}



原创粉丝点击