A. * B. ﹥= C. :: D. / 相关知识点: 试题来源: 解析 C C++的运算符大部分都可以重载,不能重载的只有“.”、“::”、“*”和“?:”。“sizeof”和“#”不是运算符,因而不能重载,而=、( )、[ ]、-﹥这4个运算符只能用类运算符来重载。反馈 收藏 ...
A.*B.>=C.sizeofD./搜索 题目下列运算符中,在C 语言中不能重载的是( )。 A.*B.>=C.sizeofD./ 答案 C解析 :除了类属关系运算符“.”、成员指针运算符“.*”、作用域运算符“::”、sizeof运算符合三目运算符“?:”以外,其余都可以重载。收藏 反馈 分享...
这些不能重载的运算符包括以下几种: 1.赋值运算符(=):赋值运算符是最基本的运算符之一,用于将一个值赋给变量。在C中,赋值运算符是不可重载的,其行为无法进行改变。这是因为赋值运算符的语义已经由语言规范明确定义,重载赋值运算符可能会导致代码的可读性和可维护性降低。 2.成员访问运算符(.和->):成员访问...
首先是C语言中的sizeof运算符。sizeof运算符用于计算一个变量或一种数据类型所占用的字节数。例如,sizeof(int)将返回4,因为int类型所占用的字节数是4。sizeof运算符是在编译时计算的,它的返回结果可以作为宏定义的参数使用。sizeof运算符不能被重载是因为它需要在编译时进行计算,而不能像其他运算符一样在运行时...
点运算符不能重载,因此会导致错误。 #include<iostream>#include<iostream>classcantover{public:voidfun();};classX{// assume that you can overload .cantover*p;cantover&operator.(){return*p;}voidfun();};voidg(X&x){x.fun();// X::fun or cantover::fun or error?} ...
1) C++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载。 例如,有人觉得BASIC中用“**“作为幂运算符很方便,也想在C++中将”**“定义为幂运算符,用”3**5“表示35,这样是不行的。2) 重载不能改变运算符运算对象(即搡作数)的个数。如关系运算符“>”和“ <” 等是双目...
c语言没有重载的概念,重载是C++的内容 c++运算符:算术运算符:+,-,*,/,%,++,--;位操作运算符:&,|,~,^(位异或),<<(左移),>>(右移)逻辑运算符:!,&&,||;比较运算符:<,>,>=,<=,==,!=;赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;其他运算符:...
~ 英文符号叫Tilde,意思是颚化符号,鼻音化符号,代字号,中文俗称波浪号。波浪号形式上有三种,一种是居于格子中间,如“~ ”;一种是居于格子上方,如问题中的位置;一种是大波浪,比前一种符号要大些,如“~”。
也就是说,在那个版本的C语言中,对“.”运算符重载(使其支持通过结构体指针访问成员)根本就行不通,因为“.”运算符与指针结合时,已经具备自己的含义了(与左值结合,访问指定偏移量的内存)。虽然以今天的眼光来看,这样的设计很古怪,但是当时的确就是这样设计的。