共 7 篇文章 |
|
若在类的定义体中给出了一个成员函数的完整定义,则该函数属于__内联__函数。为了避免在调用成员函数时修改对象中的任何数据成员,则应在定义该成员函数时,在函数头的后面加上__ const __关键字。这需要链接时链接那些函数所在DLL的导入库,导入库向系统提供了载入DLL时所需的信息及DLL函数定位。DLL载入后,模块可以通过调用GetProcAddress获... 阅220 转7 评0 公众公开 11-03-21 21:52 |
virtual void func2(){cout <<"fun2 in class B" <<endl;}C, A中的func2是虚函数.,B中的func1不是虚函数.D, A中的func2不是虚函数,B中的func1是虚函数.227.一个函数定义由__函数头______和__函数体_____两部分组成。228.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的__原型(或声明)____语... 阅258 转8 评0 公众公开 11-03-21 21:52 |
char *GetMemory(void)D,静态成员函数和内联函数不能是虚函数,友员函数和构造函数也不能是虚函数,但是析构函数可以是虚函数.sizeof ( n ) = 4 (2分)void Func ( char str[100])void func1(){cout <<"fun1 in class B" <<endl;}virtual void func2(){cout <<"fun2 in class B" <<endl;}C, A... 阅109 转5 评0 公众公开 11-03-20 22:44 |
假设某个函数的原型为: void foo(int x, int y);该函数被C 编译器编译后在库中的名字为_foo , 而C++编译器则会产生像_foo_int_int 之类的名字。(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual 关键字。Node *head = NULL ;这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所... 阅222 转8 评0 公众公开 11-03-20 22:40 |
char *str = NULL;已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc);void UpperCase( char str[] ) // 将 str 中的小写字母转换成大写字母。cout <<"str字符长度为: "<<sizeof(str)/sizeof(str[0]) <<endl;函数外的str是一个静态定义的数组,因此其大小为6,函数内的str实际只是一个指向... 阅205 转8 评0 公众公开 11-03-20 22:39 |
引用与指针有什么区别?答:(1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;(5)在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因而只能访问类的static成员变量。答:常指针的含义是该指针所指向的地址不能变,但该地址所指向的内容可以... 阅254 转15 评0 公众公开 11-03-20 22:33 |
而虚函数实现的是在基类中通过使用关键字virtual来申明一个函数为虚函数,含义就是该函数的功能可能在将来的派生类中定义或者在基类的基础之上进行扩展,系统只能在运行阶段才能动态决定该调用哪一个函数,所以实现的是动态的多态性。定义一个类的成员函数时在该函数前加CALLBACK即将其定义为回调函数,函数的实现和普通成员函数没有区别。答案... 阅550 转11 评0 公众公开 11-03-20 22:31 |