侯捷叁 组合与继承

1,static数据作为成员数据时:

  构造函数创建的空间没有static的空间,他单独占一份空间。

  利率数据可以做为static,不因为用户人多而多分配空间。

  注意:在class的外部在给静态的数据成员定义,完成赋值。

 

2,对象的地址就是他的this指针。非成员函数只有一份,根据不同的对象得到不同的this然后调用不同的对象的数据部分作为参数。

3,static成员函数,没有this指针,因此得不到具体对象的非静态的数据。只能调用静态的数据。

注意到:调用静态函数有两种方式,普通的是用对象调用,或者使用class name来调用

4,cout 就是一种ostream的对象

5,模板函数

6,命名空间

扫描二维码关注公众号,回复: 8777461 查看本文章

   namesapce xxx{

 

 

   };

7,

explicit

Auto

8,复合has-a(一个类包含或以其他的类为数据成员如queue拥有一个deque)

   特别的就像:现在我们想要的只是一个adapter(适配器),将(通常是protected数据对象)另一对象改装一下。

   构造函数由内而外,析构函数由外而内。造鸡蛋。而实际占用的空间就是具体成员的空间累计。这是实实在在的空间,生命一起出现。

9,委托(通过指针来复合composition by reference)

包含一个指针成员,空间很虚,不是和委托对象同时创建的。Handle/body模式,编译防火墙,不用担心body的改变影响客户端的使用,因为handle(把手)没有改变。

可以实现多个人访问一个空间,copyonwrite,保证原来的数据不变,单独开一份给要改变的人。

10,继承(is-a)父类成员像蛋黄,自己的成员像蛋清。子类构造时,要先调用父类的默认构造函数,构造由内而外。

析构过程由外而内。父类的析构函数是virtual函数

发布了27 篇原创文章 · 获赞 1 · 访问量 1433

猜你喜欢

转载自blog.csdn.net/qq_34890856/article/details/88758588