#include <iostream>
class Base{
public:
virtual int foo( int ival = 1024 )
{
cout<<"Base::foo()----- ival: "<<ival<<endl;
return ival;
}
};
class Derived : public Base
{
public:
virtual int foo( int ival = 2048)
{
cout<<"Derived::foo()----- ival: "<<ival<<endl;
return ival;
}
};
Derived *pd = new Derived;
Base *pb = pd;
pb->foo();//输出结果为:Derived::foo()----- ival: 1024
结论:由于虚拟机制 pb调用的是派生类的成员函数,但是缺省实参的值由基类指定!
分享到:
相关推荐
C++中构造函数的参数缺省的详解 前言: 构造函数中参数的值既可以通过实参传递,也可以指定为某些默认值,即如果用户不指定实参值,编译系统就使形参取默认值。在构造函数中也可以采用这样的方法来实现初始化。 #...
C++选择题填空题 根据提供的文件信息,我们可以...这些知识点涵盖了 C++ 的多个方面,包括类和对象、函数和重载、继承和多态性、常成员函数和常数据成员等。这些建议可以帮助开发者更好地理解和使用 C++ language。
在Visual C++中,函数调用方式可以分为两种:C式调用和Pascal式调用。其中,C式调用是缺省的,除非特殊声明。在本文中,我们将详细探讨这两种调用方式的差异和实现过程。 一、C式调用(cdecl) C式调用是Visual ...
本章节深入探讨了C++中函数的高级特性,包括引用、函数重载、缺省参数以及参数传递的不同方式。掌握这些概念不仅有助于编写更高效、更安全的代码,也加深了对C++语言特性的理解,为成为一名熟练的C++程序员奠定了...
3. 函数重载和缺省参数:C++支持函数重载,允许设置缺省参数,但规定在设置了缺省值的参数右边不能再有未设置缺省值的参数,选项B是正确的描述。 4. 构造函数:构造函数是类的特殊成员函数,用于初始化新创建的对象...
7. **动态内存分配**:使用`new`申请类的动态对象数组时,如果类中没有无参数或缺省参数的构造函数,程序会编译错误。 8. **静态数据成员**:静态数据成员在类外初始化,且所有对象共享同一份拷贝。 9. **if......
本资源摘要信息是根据C++期中考试试题.doc文件生成的,涵盖了C++基础知识、对象动态初始化、形参和实参、函数重载、类和对象、继承和派生、指针、引用等方面的知识点。 知识点1:C++与C语言的不同之处 C++与C语言...
4.2 函数间参数传递:C++支持值传递和引用传递两种方式。值传递是复制实参的值给形参,而引用传递则让形参成为实参的别名,两者共享同一块内存。在值传递中,函数内部对形参的修改不会影响到实参,而在引用传递中则...
C++是一门强大的面向...以上是对C++中涉及的概念和知识点的详细解释,涵盖了类、对象、成员函数、参数传递、函数重载、继承、多态、友元、静态成员、模板和析构函数等多个方面。这些知识是理解和编写C++程序的基础。
这涉及到C++的函数调用规则和参数传递机制。 2. 函数的定义不允许嵌套,但函数的调用可以嵌套。这意味着一个函数内部可以调用其他函数,而不能定义新的函数。 3. 当用数组名作为函数调用的实参,传递给形参的是...
7. 动态对象数组:用new申请类的动态对象数组时,需要匹配到无参构造函数或缺省参数构造函数。 8. 静态数据成员:静态数据成员在类外初始化,并由所有类对象共享。 9. if...else配对规则:C++规定else总是与最近未...
STL(Standard Template Library)是C++的一个重要组成部分,提供了大量的模板类和函数,用于实现通用的数据结构和算法。STL主要由三个部分组成: 1. **容器**:容器是用来存储数据的结构,如`vector`、`list`等。 ...
这篇07级C++期末考试试题涵盖了C++的基础知识和核心概念,包括函数参数传递、对象、类、继承、多态性、构造函数与析构函数、动态内存管理、常量与const成员函数、用户自定义数据类型、字符串处理、输入输出库以及...
知识点:运算符重载有三种方式,分别是普通函数、友元函数和类成员函数。 20. 流运算符为什么不能通过类的成员函数重载? 一般怎么解决? 答:因为通过类的成员函数重载必须是运算符的第一个是自己,而对流运算的...
成员函数的原型(函数声明)可以在类内声明,而函数的实现(函数体)可以放在类外,这种方式称为前向声明和分离实现。 2. **引用和指针**:在C++中,引用是一个已命名的内存地址别名,它在声明时必须初始化,且一旦...
在 C++ 中,派生类可以访问基类的公有和保护成员,但是不能访问私有成员。 4. 关于函数的所有缺省参数的叙述正确的是B. 只能出现在参数表的最右边。在 C++ 中,缺省参数只能出现在参数表的最右边,以免引起歧义。 ...
- 内部静态类(static class)的对象在其定义的函数或类内部可见,但生存期超出函数执行,与全局变量类似,所以可见性和生存期不一致。 15. **存储类与局部变量**: - 外部静态类的对象不是局部变量,它们在程序...