C++学习笔记(二)
来源:互联网 发布:政府网络舆论互动交流 编辑:程序博客网 时间:2024/05/29 02:41
类:
Class 类名{
Private:
Public:
Protected:
};
构造函数:
1. 无参构造函数:函数体为空时 = 默认构造函数(缺省构造函数),全局对象或静态对象调用默认构造函数,数据项自动初始化为零
2. 复制构造函数(拷贝构造函数):X(const X& x),称作同类对象的位模式拷贝。
出现的情形:1.X b(c),c为X的一个实体;2:b = c;3,作为函数的形参(值传递,构造形参)4,作为函数X foo(…)的返回值时(实际上是返回了一个匿名对象)
如果一个类拥有资源,当这个类的对象发生复制过程的时候,资源重新分配,这个过程就是深拷贝,反之,没有重新分配资源,就是浅拷贝(导致delete两次,两个指针指向同一份资源,却删了两次)。
3.类型转换构造函数:X(T& …)
4. 一般构造函数:
Struct: 初始化列表来初始化,Class只有当其没有私有数据成员,没有构造函数,没有虚函数,不是派生类时才能使用。
This指针:作为隐含参数自动传给成员函数的,为const* 类型,将this指针声明为指向常量的常量指针:在成员函数后加const ,使之成为const成员函数,此时成员函数内不能改变对象的数据了。
静态成员是属于类的成员:static意为是该类所有对象共享的数据成员,非为静态存储类。
静态成员数据只有一份;必须在类外初始化,说明公有时,用类名::加以指定,其他使用与普通数据成员一致。
静态成员函数,没有隐式的this指针(属于一个类),只能用静态数据成员
友元:出于效率的目的,每次调用成员函数来访问对象的私有数据成员开销太大。
友元函数:无this,必须传参,允许将一个类的成员函数说明为另一个类的友元(没试过),也可以是一个类(该类的每个成员函数均可访问另一个类的成员)。
作用域:程序作用域,文件作用域,函数级,类级,块级
对象数组:X ar[2] = {X(…),X(…)}(匿名对象);有单个参数的构造函数,可使用{1,1}
按序号调用构造函数,撤销时相反。
成员对象和容器类(含有另一个类的对象作为类的成员时),需在构造函数时用一个初始化参数表来完成(编译器不提供)。初始化顺序:成员对象的声明顺序,再是类,析构时相反,栈。
C++可定义为自动对象,静态对象,外部对象和动态对象,
静态对象:内部静态对象,外部静态对象。
- 学习《c++primer》笔记二
- c语言学习笔记二
- C语言学习笔记<二 >
- C/C++学习笔记(二)
- Objective-c 学习笔记(二)
- Objective C学习笔记(二)
- Objective-C 学习笔记二
- c学习笔记(二)
- 《Programming.C#》学习笔记二
- C语言学习笔记二
- 《C++.Primer.Plus》学习笔记(二)
- 《C语言宝典》学习笔记(二):概述
- ASP.Net 3.5学习笔记(C#)二
- C语言学习笔记(二)
- 嵌入式学习笔记-C语言(二)
- 《C和指针》学习笔记(二)
- C++学习笔记(Thinking in C++) 二
- c++primer学习笔记(二)
- 【Java常用排序算法】插入排序(直接插入排序、希尔排序)
- Crypto nodejs 加密
- bootstrap
- nodejs加密Crypto简单例子
- Codeforces 768A Oath of the Night's Watch
- C++学习笔记(二)
- 关于SSD的二三事,NAND闪存的一些常识
- Spring整合Mongodb,Maven的依赖,Spring配置,MongoDB的公共操作类,使用SpringMVC的Controller进行测试并返回结果的案例
- java.lang.ClassNotFoundException: net.sf.navigator.menu.MenuContextListener错误
- mysqldump备份数据
- Android NDK 实例
- 1083. List Grades
- 递归 求阶乘
- PAT甲级练习1052. Linked List Sorting (25)