c++异常处理

5、请解释“func”为何种类型,这种类型的作用什么,变量ttt的值是多少?typedefint(*func)(int,int*);intxxx(inta,int*p){... 5、
请解释“func”为何种类型,这种类型的作用什么,变量ttt 的值是多少?
typedef int (*func)(int, int*);
int xxx(int a, int *p)
{
return a + *p;
}
int dowork(func aaa, int bbb, int *ccc)
{
return aaa(bbb, ccc);
}
int sss = 4;
int ttt = dowork(&xxx, 3, &sss);

6、
下述代码中: int operator+(…)起什么作用?this是什么?ccc 的值最终为多少?(6分)
class Fruit
{
public:
Fruit()
{
weight = 2;
}
Fruit(int w)
{
weight = w;
}
int operator+(Fruit f)
{
return this->weight * f.weight;
}
private:
int weight;
};
Fruit aaa;
Fruit bbb(4);
int ccc = aaa + bbb;

7、
解释下面代码采用了何种C++特性(C语言不具备),作用是什么
template<typename T>
T sum(T a, T b)
{
return (a + b);
}

8、
解释aaa.h中下面代码的功能
#if !defined(AFX_MYSUDU_H__9B952BEA_A051_4026_B4E5_0598A39D2DA4__INCLUDED_)
#define AFX_MYSUDU_H__9B952BEA_A051_4026_B4E5_0598A39D2DA4__INCLUDED_
... ...
#endif

请高人指点!谢谢!
展开
 我来答
georangel
2010-05-06 · TA获得超过541个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:359万
展开全部
5. func 为函数指针类型,主要用来作为参数,指向不同的方法,解决:参数与返回值相同,但是内容不同的问题。本题的结果为7

6. 解决对象间运算符的重载,两个Fruit对象相加成为可能,但是不能编译通过,因为weight是私有成员,不能直接通过对象访问到,要么定义为public成员,要么加上public 方法 int getWeight(){ return weight; } 才有结果6

7. 模板函数,类似于宏函数,对于方法的内容相似,但是参数类型不同的情况,可以采用同种模板。

8. 头文件aaa.h可能在多个cpp文件中被反复多次嵌套地包含;加上了以上的代码,在编译时,在整体代码中,头文件aaa.h只被复制一次。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高明月月明8612
2010-05-06 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:65
采纳率:0%
帮助的人:116万
展开全部
5.func是一个函数指针,指向一个参数列表为(int, int*),返回值类型为int的函数。这种类型的作用就是用来声明一个该类型的函数指针。ttt结果为7

6.int operator+()是C++运算符重载。使得自定义类型(类Fruit)的对象可以作加法。this是C++中每个类隐含的一个成员,是一个指向该类对像的指针。ccc的最终值为6

7.这是C++的函数模板。作用是,对于那种除了作用类型(int ,float等)不同外其它功能完全相同的函数,只用写一个,具体的实际类型在编译时确定。是一种重用思想。

8.这是预编译指令。功能是保证aaa.h只被编译一次。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式