第十九章 代码重用

1. 代码重用 体现于头文件。也就是面向对象的体现之一,还有多态性,稳定性等。

2.  包含

 1 //简单的包含的程序代码如下:
 2 #include <iostream>
 3 using namespace std;
 4 class A 
 5 {
 6 public:
 7     A(){x=0;}
 8     A(int i){x=i;}
 9     void get(){cout<<x;}
10     ~A(){}
11 private:
12     int x;
13 };
14 class B 
15 {
16 public:
17     B(){y=0;}
18     B(int i,int j,int k):a(i),b(j){y=k;}
19     A geta(){return a;}
20     A getb(){return b;}
21     int gety(){return y;}
22 private:
23     A a;
24     A b;
25     int y;
26 };
27 int main()
28 {
29     B b(1,2,3);
30     b.geta().get();//类B中包含了类A的对象 a b
31     b.getb().get();
32     cout<<b.gety();
33     return 0;
34 }

重构中推荐用继承,因为实现起来比较简单。但是有一种情况下必须用包含。继承的时候被继承的对象必须在其子类初始化时被初始化。而包含则可以在其他时候再初始化。

原文地址:https://www.cnblogs.com/zenseven/p/3803645.html