
。
的前面必须有一个限定类名。而非限定的双冒号只能用在表达式中来指明全局作用域,而不能用在一个说明中。
的构造函数,这样数组元素才能被构造, 这个构造函数只有一个参数(指向它的类的引用)并称为一个引用构造函数。
和class2::class2(class2&,int=1)。你必须重新定义这个构造函数使之不是所有的参数都有缺省值。然后你可以定义一个引用构造函数或由编译程序产生一个。
perator=(class&) to copy a vector
perator=(class2&
才能复制数组的元素。通常编译程序自动提供这样的操作符。 但是如果你对类class2已有一个operator=定义,但没有用一个类型为class2的参数,编译程序不会自动提供,你必须自己提供一个。
,不能指定这些基类。
分开,而不是冒号(
及赋值(=)运算, 或者以参数形式传送给函数或从函数返回。
或某些其它操作)>。
的表达式如寄存器,使用了地址操作符。
操作符不匹配。 可能是丢失冒号也可能是由于括号嵌套错或丢失括号。
中冒号两边表达式的类型应该相同,除了象char转成int,float转成doubl或void*转成特定的指针这样常见的转换。 在这种表达式中对不同类型的两边表达式的求值是不会自动转换的, 这可能是一个错误或者只不过需要把一边表达式类型转换成另一边的类型。
或者当C++返回一个指向一对象的引用时 , 必须提供一个实际对象。这通常是一个变量名。这种情况下, 编译程序被要求取一个不合适对象的地址。
perator new instead在C++的早期版本中,只有一种方法用来控制对象类的分配,即通过在构造函数内给this参数赋值。但现在已不鼓励这种用法,因为有一种更好, 更安全和更通用的技术来代替它,即定义一个成员函数 operator new。
i,10) {…}
把成员名字和它的类名字分开。现在已不再使用这种语法,而改用双冒号(:
。旧语法:
; /*参数为指向int的引用 * /| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) | Powered by Discuz! 2.5 |