1 #pragma once
2
3 #ifndef CUBOID_H_
4 #define CUBOID_H_
5
6
7 class Cuboid
8 {
9 private:
10 double length_;
11 double width_;
12 double height_;
13 public:
14 Cuboid(double length, double width, double height); //构造函数
15 Cuboid(); //无参数的构造函数
16 ~Cuboid(); //析构函数
17 double volume() { return length_ * width_*height_; }; //体积
18 int compare(Cuboid &c);
19 };
20
21
22 #endif // !CUBOID_H_
1 #include "stdafx.h"
2 #include "Cuboid.h"
3
4
5 Cuboid::Cuboid(double length, double width, double height)
6 {
7 length_ = length;
8 width_ = width;
9 height_ = height;
10 }
11
12 Cuboid::Cuboid()
13 {
14 }
15
16
17 Cuboid::~Cuboid()
18 {
19 }
20
21 int Cuboid::compare(Cuboid & c)
22 {
23 if(this->volume()>c.volume()) //对象用() ,指针用(->)
24 {
25 return 0;
26 }
27 else if (this->volume() == c.volume())
28 {
29 return 1;
30 }
31 else
32 {
33 return 2;
34 }
35
36 }
1 // C++函数和类 22-this指针.cpp: 定义控制台应用程序的入口点。
2 //
3
4 #include "stdafx.h"
5 #include "Cuboid.h"
6 #include<iostream>
7 using namespace std;
8
9 int main()
10 {
11 Cuboid c1(4, 4, 3);
12 Cuboid c2(4, 4, 4);
13 int res = c1.compare(c2);
14 if (res == 0)
15 {
16 cout << "第一个长方体的体积大于第二个长方体的体积" << endl;
17 }
18 else if(res==1)
19 {
20 cout << "两个长方体的体积相等" << endl;
21 }
22 else
23 {
24 cout << "第一个长方体的体积小于第二个长方体的体积" << endl;
25 }
26 return 0;
27 }