c++之类包含

类的包含(称为has A)是程序设计中一种软件重用技术。即定义一个新的类时,通过编译器把另一个类 “抄”进来。
当一个类中含有已经定义的类类型成员,带参数的构造函数对数据成员初始化,须使用初始化语法形式。

构造函数 ( 变元表 ) : 对象成员1( 变元表 ) , … , 对象成员n ( 变元表 ) ;

 1 #include <iostream>
 2 #include <cmath>
 3 using namespace std;
 4 #include <string>
 5 
 6 //用类包含计算两点之间的距离
 7 class Point{
 8 public:
 9     Point(double x,double y){
10         this->x = x;
11         this->y = y;
12     }
13     Point(Point& p){
14         cout <<"\tcopy_constract" <<endl;
15     }
16     double getX(){
17         return x;
18     }
19     double getY(){
20         return y;
21     }
22 private:
23     double x,y;
24 };
25 class Distance{
26 public:
27     Distance(Point dp1,Point dp2):p1(dp1),p2(dp2){
28         double x = dp1.getX()-dp2.getX();
29         double y = dp1.getY()-dp2.getY();
30         dist = sqrt(x*x + y*y);
31     }
32     double getDist(){
33         return dist;
34     }
35 private:
36     Point p1,p2;
37     double dist;
38 };
39 
40 void main(){
41     Distance d(Point(3.1,5.7),Point(4.7,6.8));
42     cout << d.getDist() << endl;
43 }
 1 #include <iostream>
 2 #include <cmath>
 3 using namespace std;
 4 #include <string>
 5 
 6 //用类包含计算两点之间的距离
 7 class Point{
 8 public:
 9     Point(double x,double y){
10         this->x = x;
11         this->y = y;
12     }
13     Point(Point& p){
14         cout <<"\tcopy_constract" <<endl;
15     }
16     double getX(){
17         return x;
18     }
19     double getY(){
20         return y;
21     }
22 private:
23     double x,y;
24 };
25 class Distance{
26 public:
27     Distance(Point dp1,Point dp2):p1(dp1),p2(dp2){
28         double x = dp1.getX()-dp2.getX();
29         double y = dp1.getY()-dp2.getY();
30         dist = sqrt(x*x + y*y);
31     }
32     double getDist(){
33         return dist;
34     }
35 private:
36     Point p1,p2;
37     double dist;
38 };
39 
40 void main(){
41     Distance d(Point(3.1,5.7),Point(4.7,6.8));
42     cout << d.getDist() << endl;
43 }

 

转载于:https://www.cnblogs.com/Smart-Du/p/4321267.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值