00问答网
所有问题
当前搜索:
不是类的成员函数
如何定义一个
类的成员函数
为回调函数
答:
由于在C++中使用类
成员函数
作为回调函数的目的就是为了访问所有
的成员
变量和成员函数,如果做不到这一点将不具有实际意义。解决的办法也很简单,就是使用一个静态类指针作为
类成员
,通过在类创建时初始化该静态指针,如pThis=this,然后在回调函数中通过该静态指针就可以访问所有成员变量和成员函数了。这种...
C++:
类是不是
完全代替了结构体?
答:
如果是C++的话,两者是没太大什么区别的.就
是类
可以有析构
函数
,结构体没有.在C++中,可以把类当结构体用,但是如果把结构体当类用的话,有些地方很麻烦.比如说你要在结构体里写函数的话,就不能脱离结构体的定义{}之类的...当然如果是纯变量的话,感觉结构体更好用.但是C语言里没有类.所以这个也...
下列关于常
成员
的叙述中,正确的是( )。
答:
常
成员函数
不能改变所操作对象的数据成员,即常成员函数不能更新对象的状态,选项8正确;常数据成员是指在类定义中不能修改其值的数据成员,它和普通
类成员
一样,不能被所有类对象共享,选项C错误;类中的常数据成员只能通过构造函数的参数初始化列表进行初始化,选项D错误。故本题答案为B选项。
什么是静态
成员函数
。
答:
非静态数据成 员),因为普通数据成员只有
类的
对象存在时才有意义。(2)静态
成员函数
与类相联系,而不与类的对象相联系,所以,在类的外部调用类中的公有静态
成员 函数
,必须在其左面加上“类名::”,而
不是
通过对象名调用公有静态成员函数。在类的外 部不能调用类中的私有静态成员函数。
一个
类的成员函数
的参数名能不能和这个类的成员变量名相同?
答:
可以,但是不提倡,建议按照微软的命名法命名,
成员
变量用m_为前缀,eg。void SetValue(int nValue){ m_nValue = nValue;}
静态
成员函数
为什么不可以调用非静态成员函数
答:
原因如下;和静态数据成员一样,静态
成员函数是类的
一部分,而
不是
对象的一部分。如果要在类外调用公用的静态成员函数,要用类名和域运算符“∷”。如 Box∷volume( ); 实际上也允许通过对象名调用静态成员函数,如 a.volume( ); 但这并不意味着此函数是属于对象a的,而只是用a的类型而已。 静态...
如何实现
类的成员函数
作为回调函数
答:
通过查询资料发现,其错误是普通的C++
成员函数
都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递一个指向自身的指针给其成员函数从而实现程序函数可以访问C++的数据成员。这也可以理解为什么C++
类的
多个实例可以共享成员函数但是确有不同的数据成员。由于this指针的作用,使得将一个CALLBACK型
的成
...
C++单选题:定义类A
的成员函数
A* f(A a)const时,下列哪个适合作为函数的...
答:
首先 A答案: 参数(A a) 是个复制到
函数
内的局部变量。所以返回一个局部变量的指针,是不可以的。因为函数内局部变量在函数调用结束之后会被释放。B答案: 类A中定义的类型为A*的静态数据
成员
, 这个是可以的。因为它不受任何限制。所谓static变量,无论是
不是
在类中,他都是存在程序的全局静态表中...
数组下标运算符[ ]为什么只能重载为类
成员函数
,而不能重载为友元函数...
答:
这个问题你不该在这里问,
不是
由我们设计C++的,老外有老外的想法。你这么想知道也可以提供几个选项:1.此运算符有两个参数,左参数为类恰好符合
类成员
调用操作符的条件,作为
成员函数
,它充分确保了只能访问类内
的成员
;如果是友元,需要设置两个参数,这里会产生一些误会,由于C++继承的存在,友元的两...
成员函数
一定是内联函数吗?
答:
不是
一、内联函数类似于C里边的宏,只是宏经常有一些不安全因素,比如 宏定义 add() 是 a+b,调用的时候宏定义直接展开,不做任何的判断,如果调用res = add()*c; 得到的代码就是res = a+b*c;不是想要的结果。内联函数可以理解成一个安全的宏定义,他就是一个真正
的函数
,只是不用压栈...
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜