z__y 2022-11-03 09:38 采纳率: 88.9%
浏览 16
已结题

构造函数可以只有部分参数为默认参数吗

构造函数可以只有部参数为默认参数吗

//类中的函数声明
student(string name, int age = 3);

//类外的定义
student::student(string  name, int age = 3)
{
    m_name = name;
    m_age = age;
}
//主函数中的调用
student b("张三");

​

调用时报错了,说找不到这样的重载

我尝试了普通函数,当只有部分参数为默认参数时是可以的
#include<iostream>
using namespace std;
#include<string>
int main()
{
    void func(string a, int b = 2);
    func("asdf");

    return 0;
}
void func(string a, int b = 2)
{
    cout << a << " " << b;
}


  • 写回答

2条回答 默认 最新

  • yun6853992 2022-11-03 10:00
    关注

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月11日
  • 已采纳回答 12月3日
  • 创建了问题 11月3日