`

有默认参数的构造函数等同于无参数的构造函数

    博客分类:
  • C++
阅读更多
class DateTimeType :
	public DateType ,public TimeType
{
public:
	DateTimeType(void);
	~DateTimeType(void);
	DateTimeType(int year=1,int month=1,int day=1,int hour=1,int min=1,int sec=1):DateType(year,month,day),TimeType(hour,min,sec){};
	void display();
};


编译这段代码时,遇到警示信息:
warning C4520: “CText”: 指定了多个默认构造函数;error C2668: “CText::CText”: 对重载函数的调用不明确。

后来把默认参数去掉就好了,c++编译器将由默认参数的构造函数于无参的构造函数看做是等同的,后续会造成对重载函数的调用不明确。
分享到:
评论

相关推荐

    构造函数和复制构造函数

    在语句8中,我们使用了复制构造函数来初始化对象obj7,等同于语句5。语句9和语句10中,我们使用了赋值操作符来将对象obj2的状态复制到对象obj1中。语句11中,我们使用了构造函数和赋值操作符来将对象obj2的状态复制...

    VBS类构造函数与Default关键字使用介绍

    此外,虽然`Default`关键字可以用来模拟构造函数的行为,但它并不等同于真正的构造函数,因为VBS不支持类的继承,所以也无法在子类中重写这个“构造函数”。 总的来说,`Default`关键字是VBS中一个独特的特性,它...

    选择题(类与对象).pdf

    * 如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的。 四、静态成员 * 静态成员可分为静态数据成员和静态成员函数。 * 静态数据成员被定义后,必须对它进行初始化,初始化在类体外进行,一般放在该...

    VC++资源VC++资源

    一旦类定义了构造函数,无论是否带参数,编译器都不会再提供默认构造函数,如果需要无参数构造函数,必须手动定义。 析构函数则在对象生命周期结束时执行,负责释放对象占用的资源。它与构造函数相反,没有返回值,...

    Visual_C++MFC之掌握C++

    如果类定义了带有参数的构造函数,那么默认构造函数就不会自动生成,若需要无参数构造函数,就需要手动定义。构造函数的参数列表决定了对象的初始化方式,使得对象可以根据不同的参数值进行定制化创建。 析构函数与...

    面向对象程序设计题库C.doc

    10. 构造函数:构造函数可以有默认参数,自动执行,可以对静态数据成员初始化,并且可以重载。B选项错误,因为构造函数在声明对象时自动执行,无需显式调用。 11. 重载函数:重载函数意味着在同一作用域内,可以有...

    掌握C++.ppt掌握C++.ppt

    如果类定义了任何构造函数(无论是否带参数),编译器将不再提供默认构造函数,若需要无参数构造函数,需手动定义。 3. 析构函数: 析构函数在对象生命周期结束时被调用,负责清理对象占用的资源。它没有返回值,...

    Javascript 使用function定义构造函数

    在JavaScript中,构造函数是一种特殊的函数,用于在...通过上述概念的介绍,我们可以看到JavaScript中的构造函数提供了一种方式,使得开发者能够利用面向对象的思维方式来组织代码,尽管它不完全等同于传统意义上的类。

    C++编程思想(中文版)5

    例如,一个类可能需要有无参数的构造函数(默认构造函数)和带有参数的构造函数(如从文件中初始化对象)。通过函数重载,我们可以创建多个构造函数,每种构造函数处理不同的初始化方式,而无需为每个行为创建不同的...

    JS箭头函数和常规函数之间的区别实例分析【 5 个区别】

    - **常规函数**:常规函数有一个内置的`arguments`对象,可以访问所有传入函数的参数,即使没有在参数列表中声明。 - **箭头函数**:箭头函数没有自己的`arguments`对象,它会继承父作用域的`arguments`,如果父...

    2.函数1

    这有助于保持函数纯度,即无副作用。函数式编程提倡编写无副作用的函数,因为它们更容易测试,且在并发环境下更安全。 Scala函数的返回值是通过函数体内的最后一个表达式计算得出的。通常,避免使用`return`语句,...

    c++面向对象习题[借鉴].pdf

    14. **拷贝构造函数**:每个类都有默认的拷贝构造函数,除非自定义。拷贝构造函数用于对象复制,而赋值操作符(=)用于对象间的赋值。它们不相同,选项A和B错误,C正确。它们可以同时存在。 15. **拷贝构造函数与...

    C++面向对象课后练习答案[参考].pdf

    在题目1中,`Sample`类有两个构造函数:一个默认构造函数(无参数),另一个重载构造函数(接受两个整数参数)。当创建`Sample`对象`s1`时,传入的参数`2`和`3`使得`x=2`,`y=3`,然后调用`disp()`函数输出结果。...

    如何辨别java中的箭头函数和普通函数.pdf

    5. **没有原型**:由于箭头函数不是构造函数,它们没有`prototype`属性,这意味着不能在箭头函数上添加方法到其原型链。 了解这些区别后,开发者可以根据具体需求选择使用普通函数还是箭头函数。例如,如果需要一个...

    C++编程思想(中文)\10

    拷贝构造函数的参数是一个引用,以避免不必要的复制。当通过值传递对象、返回对象或对象初始化时,拷贝构造函数会被调用。理解拷贝构造函数的工作原理对于管理对象的生命周期和资源至关重要。 #### 结语 引用和...

    c++函数查询

    C++11引入了默认和删除操作符,允许程序员控制类的拷贝构造函数、赋值运算符等是否可以默认生成或者禁用。 11. **异常处理(Exception Handling)** C++支持异常处理机制,允许在函数中抛出异常并在其他地方捕获...

    C++复习题.pdf

    C++中的类不等同于C语言的结构体类型,虽然它们在某些方面有相似之处。 2. C++关键字:`public`、`operator`、`this`、`static`、`private`、`cout`等是C++的关键字,用于控制访问权限、定义操作符重载、引用当前...

    嵌入式Linux笔试题.pdf

    ` 是通过默认构造函数创建的,而默认构造函数内部调用了另一个构造函数 `CLS(0)`,但这并不等同于用0初始化 `m_i`。因此,`obj.m_i` 的值未定义,输出可能是任何值,而不是0。 在深入讲解嵌入式Linux笔试题中的知识...

    C++.docx

    在C++编程语言中,有一些核心概念和技术,如引用、类型声明、参数、静态数据成员、友元函数、访问权限、构造函数、析构函数、派生类、虚函数和动态绑定。以下是对这些概念的详细解释: 1. 引用(Reference):在C++...

Global site tag (gtag.js) - Google Analytics