问题及代码:
/*
02. *Copyright(c)2016,烟台大学计算机与控制工程学院
03. *All right reserved.
04. *文件名称:77.cpp
05. *作 者:董凯琦
06. *完成日期:2016年3月30日
07. *版 本 号:v1.0
08. *
09. *问题描述:重新定义Triangle类,其中逻辑特别简单的set和get成员函数,要处理为
10. 内联成员函数,直接在类内定义。
11.
12. *输入描述:三角形的三边
13. *程序输出:三角形的周长以及面积
14. */
15.#include<iostream>
16.#include<Cmath>
17.using namespace std;
18.class Triangle
19.{
20.public:
21. void setA(double x)
22. {
23. a=x;
24. };
25. void setB(double y)
26. {
27. b=y;
28. };
29. void setC(double z)
30. {
31. c=z;
32. };
33.
34. double getA()
35. {
36. return a;
37. }
38. double getB()
39. {
40. return b;
41. }
42. double getC()
43. {
44. return c;
45. }
46. bool isTriangle();
47. double perimeter();
48. double area();
49.private:
50. double a,b,c;
51.};
52.int main()
53.{
54. Triangle tri1;
55. double x,y,z;
56. cout<<"请输入三角形的三边:";
57. cin>>x>>y>>z;
58. tri1.setA(x);
59. tri1.setB(y);
60. tri1.setC(z);
61. if(tri1.isTriangle())
62. {
63. cout<<"三条边为:"<<tri1.getA()<<','<<tri1.getB()<<','<<tri1.getC()<<endl;
64. cout<<"三角形的周长为:"<< tri1.perimeter()<<'\t'<<"面积为:"<< tri1.area()<<endl;
65. }
66. else
67. cout<<"不能构成三角形"<<endl;
68. return 0;
69.}
70.bool Triangle::isTriangle()
71.{
72. if(a+b>c&&b+c>a&&a+c>b)
73. return 1;
74. else
75. return 0;
76.}
77.
78.double Triangle::perimeter()
79.{
80. return a+b+c;
81.}
82.
83.double Triangle::area()
84.{
85. double p=(a+b+c)/2;
86. return sqrt(p*(p-a)*(p-b)*(p-c));
87.}
运行结果:
知识点总结:
从这个程序中,我们可以了解到内联成员函数的用法以及set和get成员函数。
学习心得:
要学会使用bool型进行判断。