数据结构与算法分析 note
来源:互联网 发布:linux golang 1.8 编辑:程序博客网 时间:2024/05/29 04:54
1、
explicit构造函数是用来防止隐式转换的。请看下面的代码:
class Test1
{
public:
Test1(int n)
{
num=n;
}//普通构造函数
private:
int num;
};
class Test2
{
public:
explicit Test2(int n)
{
num=n;
}//explicit(显式)构造函数
private:
int num;
};
int main()
{
Test1 t1=12;//隐式调用其构造函数,成功
Test2 t2=12;//编译错误,不能隐式调用其构造函数
Test2 t2(12);//显式调用成功
return 0;
}
Test1的构造函数带一个int型的参数,代码23行会隐式转换成调用Test1的这个构造函数。而Test2的构造函数被声明为explicit(显式),这表示不能通过隐式转换来调用这个构造函数,因此代码24行会出现编译错误。
普通构造函数能够被隐式调用。而explicit构造函数只能被显式调用。
2、const成员函数
int x const ()
x()里面不可以修改类成员的值,只可读不可写
在C++中,只有被声明为const的成员函数才能被一个const类对象调用。
值得注意的是,把一个成员函数声明为const可以保证这个成员函数不修改数据成员,但是,如果据成员是指针,则const成员函数并不能保证不修改指针指向的对象,编译器不会把这种修改检测为错误。
http://blog.csdn.net/lihao21/article/details/8634876
- 数据结构与算法分析 note
- 数据结构算法与分析
- 数据结构与算法分析
- 数据结构与算法分析
- 数据结构与算法分析
- 数据结构与算法分析
- 数据结构与算法分析
- 数据结构与算法分析
- 数据结构与算法分析
- 《数据结构与算法分析》
- 数据结构与算法分析c++:算法分析
- 数据结构与算法分析c++:算法分析
- 数据结构与算法分析P241T4
- 数据结构与算法分析 感悟
- 数据结构与算法分析 树
- 《数据结构与算法分析》Chap3
- 《数据结构与算法分析》Chap4
- 数据结构与算法分析-表
- Nginx配置文件详细说明
- 1384全排列【51NOD】
- Volley简单学习使用四——源码分析二
- 了解云计算的漏洞
- qt中的qrc文件和rcc文件
- 数据结构与算法分析 note
- JAVA执行bat文件和shell脚本文件
- 缓存机制
- leetcode--ConvertSortedListtoBinarySearchTree
- 不同晶振配置STM32 波特率
- Android横屏竖屏切换的问题
- C++ 12.4.2.默认实参与构造函数
- Nginx负载均衡
- Android 应用中十大导航设计错误