【今日学习】C++ Primer Plus 第六版——友元、内嵌类、异常
来源:互联网 发布:移动4g网络套餐 编辑:程序博客网 时间:2024/05/18 02:43
今天主要读了第十五章中的前三部分的内容
友元就是friend class或者friend func。为什么需要友元?例如遥控器和TV,彼此既不是is-a也不是has-a关系,但遥控器要能操作电视机,那么遥控器就得设定为电视机的友元。
友元就是friend class或者friend func。为什么需要友元?例如遥控器和TV,彼此既不是is-a也不是has-a关系,但遥控器要能操作电视机,那么遥控器就得设定为电视机的友元。
class Self
{
friend class F;
};
这样声明后,F就是Self的朋友了,F可以使用Self里的任意一个成员,不管是不是私有
或者可以设定某个函数为友元,例如:
class F
{
public set();
}
class Self
{
friend void F::set();
}
注意声明的次序,尤其是当友元函数使用对方的类的类型时。
类之间可以互为友元,也可以多个类同时声明一个或多个函数为它们共同的友元
内嵌类,也就是类中类,例如下面的small就是一个内嵌类:
class Big
{
public:
class small
{.....};
....
};
内嵌类不一定只能供Big类使用,声明为public后可以被外部世界使用,但是呢,得这样用:
Big::small s
也就是得加前缀Big::
异常机制
主要说下和java的不同。java的throws 可以写在函数标题右侧,但是C++里不建议这样写。
throws异常写在函数内,比如
int func(int x)
{
if(x==0)
throw deal_func(x); //这个函数是异常处理函数,自己写,返回一个异常对象Type t
return 1/x;
}
然后外面这样捕捉这个异常:
try
{
int xx = func(0);
}
catch (Type &t)
{
//这里做些处理
}
0 0
- 【今日学习】C++ Primer Plus 第六版——友元、内嵌类、异常
- 【今日学习】C++ Primer Plus 第六版——RTTI、代码重用(上)
- 【读书笔记:C++ primer plus 第六版 中文版】第15章 友元、异常和其他
- 【C++】学习笔记十四——C++ primer plus第六版第4章编程练习
- C++ Primer Plus学习之友元异常及其他
- 《C++ Primer Plus(第六版)》(31)(第十五章 友元、异常和其他 笔记)
- 《C++ Primer Plus(第六版)》(32)(第十五章 友元、异常和其他 复习题答案)
- 《C++ Primer Plus(第六版)》(33)(第十五章 友元、异常和其他 编程题答案)
- c++primer plus 第六版 练习答案
- 【C Primer Plus 第六版】笔记
- c++Primer Plus第六版练习题答案
- 记录——《C Primer Plus (第五版)》第七章编程练习第六题
- 记录——《C Primer Plus (第五版)》第八章编程练习第六题
- 记录——《C Primer Plus (第五版)》第九章编程练习第六题
- 记录——《C Primer Plus (第五版)》第十章编程练习第六题
- C Primer Plus 第六章
- 整理下C++primer plus 第六版第六章习题。
- C++Primer Plus(第六版) 第六章 第二题
- 【今日学习】C++ Primer Plus 第六版——RTTI、代码重用(上)
- C语言随笔
- 计算1-n的和(不用for, while, goto, if, else, switch, case和三目运算符, 也不用乘除法)---利用间接递归
- Linux批量创建用户和设置密码及删除用户
- MRC下计时器
- 【今日学习】C++ Primer Plus 第六版——友元、内嵌类、异常
- VirtualBox(Host=win7) 安装Fedora21
- uva 673 Parentheses Balance 习题6-1 (栈——基础练习)
- UIPikerView视图的创建
- PB中自定义事件ID含义
- kmp算法
- 精通递归程序设计
- IT人士应该知道的一个趋势-在线教育(转自小巫的博客)
- 你知道的javascript的继承有几种实现方式