1,static数据作为成员数据时:
构造函数创建的空间没有static的空间,他单独占一份空间。
利率数据可以做为static,不因为用户人多而多分配空间。
注意:在class的外部在给静态的数据成员定义,完成赋值。
2,对象的地址就是他的this指针。非成员函数只有一份,根据不同的对象得到不同的this然后调用不同的对象的数据部分作为参数。
3,static成员函数,没有this指针,因此得不到具体对象的非静态的数据。只能调用静态的数据。
注意到:调用静态函数有两种方式,普通的是用对象调用,或者使用class name来调用
4,cout 就是一种ostream的对象
5,模板函数
6,命名空间
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函数