此程序中不调用没有参数的构造函数
Constructor without argument is not called in this program
我在cpp中编写了这个简单的程序。但不调用没有参数的构造函数。请帮我说一下为什么没有人叫它。。
该程序的输出是
623423
--------------------------------
Process exited after 0.07689 seconds with return value 0
Press any key to continue . . .
程序:
#include<iostream>
class Date{
int day,month,year;
public:
Date();
Date(int,int);
Date(int);
Date(int,int,int);
};
Date :: Date(){
day=10;
month=5;
year=19;
std::cout<<"********************************************";
std::cout<<day<<month<<year;
}
Date :: Date(int a){
day=a;
std::cout<<day;
}
Date ::Date (int a,int b){
day=a;
month=b;
std::cout<<day<<month;
}
Date ::Date(int a,int b,int c){
day=a;
month=b;
year=c;
std::cout<<day<<month<<year;
}
int main(){
Date one();
Date two(6);
Date three(2,3,4);
Date four(2,3);
return 0;
}
Date one();
这不是做你期望的事。它声明了一个名为one的函数,该函数按值返回Date
,正如@Some programmer dude在评论部分正确地说的那样。您可以编写Date one;
,也可以使用C++11统一初始化Date one{};
相关文章:
- C++:使用运算符 = 调用多参数构造函数
- 通过零参数构造函数创建的 glm::mat4 应该包含哪些值?
- 好奇的混合与可变参数构造函数
- 具有默认值的单个参数构造函数是否与默认构造函数相同?
- 为什么我们需要创建一个单参数构造函数来使用临时的无名称对象
- 在可变参数构造函数中初始化常量数组
- C++ 显式多参数构造函数歧义
- 零一参数构造函数
- 可变参数构造函数中的 SFINAE
- 当没有显式关键字与单参数构造函数一起使用时,编译器可以发出警告
- 可变参数类模板和可变参数构造函数
- 确保模板参数类型与其可变参数构造函数的类型匹配
- C++默认参数构造函数与内联初始化优先级
- 如何在 c++ 中将包含复制构造函数的类的参数构造函数称为私有?
- 自动存储中没有无参数构造函数的类对象和异常
- 警告:用两个参数构造函数返回对象时,表达结果未使用
- 如何在C++中调用无参数构造函数
- 在 c++ 中具有多个参数构造函数的模板类存在问题
- 可变参数构造函数优先于用户提供的移动构造函数,除非默认
- 如何从可变参数构造函数参数构造任何对象?