sounderme 2015-10-24 11:40 采纳率: 0%
浏览 2507

c++ 构造函数初始化报错如何解决

#include
#include
using namespace std;
class Teacher
{public:
Teacher();
Teacher(string name,int age) ;//如果对age进行初始化并且在main函数中实例化 一个 t5(“Vivion”)为什么会报错
Teacher(const Teacher&tea);
void setName(string _name);
string getName();
void setAge(int _age);
int getAge();

private:
string m_strName;
int m_iAge;
} ;

Teacher::Teacher()
{ m_strName="jim";
m_iAge=5;
cout<<"Teacher() "<<endl;
}
Teacher::Teacher(string name,int age)
{ m_strName=name;
m_iAge=age;
cout<<"Teacher(string name,int age)"<<endl;
}
Teacher::Teacher(const Teacher&tea)
{ cout<<"Teacher(const Teacher&tea)"<<endl;
}
void Teacher::setName(string _name)
{m_strName=_name;}
string Teacher::getName()
{return m_strName;}
void Teacher::setAge(int _age)
{m_iAge=_age;}
int Teacher::getAge()
{return m_iAge;}

int main(void)
{ Teacher t1;
Teacher t2("merry",15);
Teacher t3("Jame",20);
Teacher t4=t1;
cout<<t1.getName()<<" "<<t1.getAge()<<endl;
cout<<t2.getName()<<" "<<t2.getAge()<<endl;
cout<<t3.getName()<<" "<<t3.getAge()<<endl;
return 0;

}

  • 写回答

4条回答 默认 最新

  • 普通网友 2015-10-24 13:24
    关注

    #if 1
    #include
    using namespace std;

    class Teacher
    {
    public:
    Teacher();
    Teacher(string name,int age=0);//如果对age进行初始化并且在main函数中实例化 一个 t5(“Vivion”)为什么会报错
    Teacher(const Teacher&tea);
    void setName(string _name);
    string getName();
    void setAge(int _age);
    int getAge();
    private:
    string m_strName;
    int m_iAge;
    };

    Teacher::Teacher()
    {
    m_strName="jim";
    m_iAge=5;
    cout<<"Teacher() "<<endl;
    }
    Teacher::Teacher(string name,int age)
    {
    m_strName=name;
    m_iAge=age;
    cout<<"Teacher(string name,int age)"<<endl;
    }
    Teacher::Teacher(const Teacher&tea)
    {
    cout<<"Teacher(const Teacher&tea)"<<endl;
    }
    void Teacher::setName(string _name)
    {m_strName=_name;}

    string Teacher::getName()
    {return m_strName;}

    void Teacher::setAge(int _age)
    {m_iAge=_age;}

    int Teacher::getAge()
    {return m_iAge;}

    int main(void)
    {
    Teacher t1;
    Teacher t2("merry",15);
    Teacher t3("Jame",20);
    Teacher t4=t1;
    Teacher t5 = ("sds");
    return 0;
    }
    #endif

    以上是我的代码,运行没有问题,不知道你是怎么去写的?你是不是给函数声明和定义都写了默认参数?那样的话会报参数重定义错误。

    评论

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。