假如有以下代码:
package
{
/**
* ...
* @author longpeijin
*/
public class PanelType
{
public static const FLOAT:String = "Float";
public function PanelType()
{
}
}
}
还有另外一个类:
package
{
import flash.display.DisplayObject;
/**
* ...
* @author longpeijin
*/
public class PanelManager
{
public function PanelManager()
{
}
public function showPanel(panel:DisplayObject,type:String = PanelType.FLOAT):void {
}
}
}
然后你在文档类中这样调用:
var pm:PanelManager = new PanelManager();
pm.showPanel(new Sprite);
你会发现编译不能通过?但是你发现其中有什么问题么?
关键在于PanelManager类没有继承一个比Object更加高级的子类,如果稍微改一下PanelManager编程如下:
package
{
import flash.display.DisplayObject;
/**
* ...
* @author longpeijin
*/
public class PanelManager extends Dictionary
{
public function PanelManager()
{
}
public function showPanel(panel:DisplayObject,type:String = PanelType.FLOAT):void {
}
}
}
这样编译就没有问题的通过了,至于问题在于什么,这个我也要请教大家了。
分享到:
相关推荐
3. 当函数被调用时,如果省略了某个参数,那么从该参数开始的所有后续参数都必须使用默认值,不能单独为它们提供值。 理解并熟练运用参数默认值可以提升代码的可读性和可维护性,减少重复代码,并且使函数更加灵活...
然而,需要注意的是,函数参数的默认值必须是一个常量或常量表达式,而不能是变量、类成员或函数调用的结果。这是因为默认值在函数定义时就已经确定,而在运行时变量的值可能尚未被赋值或者其值会变化,这会导致编译...
在函数定义中,可以为某些参数提供默认值,使得在调用函数时可以不提供这些参数的值。这在参数数量可能变化或某些参数有默认行为的情况下很有用。 4.5 函数重载 函数重载是指在同一作用域内可以有多个同名但参数...
* 有参函数:有参函数的定义格式为《数据类型》函数名 (参数类型1 形式参数1《,参数类型2 形式参数2,…》{函数体},有参函数的参数表中列出所有形式参数的类型和参数名称。 三、函数的参数传递 * 形式参数简称...
`WINAPI`是一个宏定义,其默认值通常为`__stdcall`,意味着被调用的函数负责清理参数栈。这种调用约定在Windows API中广泛使用,确保函数调用过程中的参数传递和返回值处理规范统一。 API函数的中文帮助文件通常...
Swift中的函数是编程中最基本的构建块之一,它们允许我们将一系列相关的操作封装成一个独立的实体,以便在需要时重复使用。在Swift中,函数不仅可以接收固定数量的参数,还能处理可变参数、默认参数值以及没有外部...
这些知识点涵盖了C++中的面向对象特性、函数重载、内联函数、引用、参数默认值、函数原型、常数据成员、成员函数、静态数据成员、类模板、虚函数、友元、成员访问权限、构造函数与析构函数的使用,以及多重继承中的...
5. **函数参数的默认值**:在C语言中,函数参数没有默认值的概念,但在C++中可以通过在定义函数时为某些参数提供默认值。 6. **重载函数**:这是C++中的概念,不是C语言的一部分。重载函数允许在同一作用域内定义多...
5. 参数的默认值:在C++中,可以在定义函数时为参数设置默认值,且通常是设置右边的参数。但不是必须为所有参数设置默认值,因此B选项是正确的。 6. 重载函数:重载函数的目的是为了提高代码的可读性和使用便利性,...
在C++中,构造函数可以重载,即同一个类可以有多个不同的构造函数,每个构造函数可以接受不同数量或类型的参数。 - 析构函数在对象生命周期结束时自动调用,负责清理对象资源。析构函数也没有返回类型,其名称为...
函数重载允许在同一作用域内定义多个同名函数,但参数列表不同,以便为相同的操作提供不同的接口。 4.7 **函数模板**: 函数模板允许创建泛型函数,可以处理不同类型的数据,通过模板参数自动推导类型。 4.8 **有...
默认参数值使得函数调用时可以省略某些参数,但设置默认参数值有一些规则,如在指定了默认值的参数右边不能出现无默认值的参数,且设置默认参数值只能在函数的定义处完成。B选项正确地指出在指定了默认值的参数右边...
5. 参数默认值:C++允许在定义函数时为参数设置默认值,但这只能从右到左设置,并且不是所有参数都需要设置默认值。 6. 重载函数的目的:重载函数是为了提供使用方便和提高代码的可读性,使得相同的函数名称可以...
例如,如果有两个或更多具有不同参数数量和默认值的重载函数,调用函数时可能不知道应选择哪个版本。如下所示: ```cpp func(int); // 重载函数1 func(int, int =4); // 重载函数2 ``` 调用`func(2)`时,编译器无法...
13. **析构函数特性**:与前面的题目相同,析构函数的名称与类名无关,每个类只有一个析构函数,且不能有参数。 14. **成员函数特征**:成员函数可以是内联、重载、设置参数默认值,也可以是静态的,但并不是所有...
当函数的某些参数可能不需提供时,可以设置默认值,例如: ```cpp int getSum(int a = 0, int b = 0) { return a + b; } ``` 内联函数是一种优化手段,用于减少函数调用带来的开销,通过在源代码中展开函数体。...
预设参数允许函数在调用时不必为所有参数提供值,如果缺少参数,最后一个预设参数会被使用。静态数据成员适用于那些需要在所有类对象之间共享的数据。内联函数可以提高代码执行效率,因为它们在编译时被展开。 `#...