为了账号安全,请及时绑定邮箱和手机立即绑定

成员函数里有const类型时,拷贝构造函数该怎么定义???

private:

string m_strName;

int m_iAge;

const int m_iMax;

};

Teatcher::Teatcher (const Teatcher &) 

{

cout << "Teatcher (const Teatcher &tea)" << endl;

}

报错如下:

2 IntelliSense:  "Teatcher::Teatcher(const Teatcher &)" 未提供初始值设定项: 

            常量 成员 "Teatcher::m_iMax" d:\VCcodes\learn_c++\learn_c++\Teacher.cpp 14 1 learn_c++


正在回答

3 回答

Teatcher::Teatcher (const Teatcher &tea):m_iMax(20)

{


这样就行了

1 回复 有任何疑惑可以回复我~
#1

camille靖 提问者

对啦!请问里面的数是几都没关系么
2016-08-08 回复 有任何疑惑可以回复我~
#2

LonelyJoker 回复 camille靖 提问者

是的,任意整数都行
2016-08-08 回复 有任何疑惑可以回复我~

不管用,比如加了个t,但是如果我把const int m_iMax;这个成员函数的声明和定义都去掉,就不会出现这个错误,所以应该是因为从const类型的成员函数的关系

0 回复 有任何疑惑可以回复我~

Teatcher::Teatcher (const Teatcher &“这里加一个形参”) 

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(上)
  • 参与学习       103410    人
  • 解答问题       701    个

封装--面向对象的基石,本教程力求帮助小伙伴们即学即会

进入课程

成员函数里有const类型时,拷贝构造函数该怎么定义???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信