方法一:
class R{
public:
R(int r1,int r2):r1(r1),r2(r2){}
void print();
void print()const ;
private:
int r1,r2;
};
void R::print(){
cout<<r1<<":"<<r2<<endl;
}
void R::print() const{
cout<<r1<<";"<<r2<<endl;
}
int main(){
system("color 4e");
R a(5,4);
a.print();
const R b(20,52) ;
b.print();
system("pause");
return 0;
}
方法二:
class R{ //常对象及常成员函数 31
public:
R(int r1,int r2)
{
r1=r1;
r2=r2;
}
void print();
void print()const ;
private:
int r1,r2;
};
void R::print(){
cout<<r1<<":"<<r2<<endl;
}
void R::print() const{
cout<<r1<<";"<<r2<<endl;
}
int main(){
system("color 4e");
R a(5,4);
a.print();
const R b(20,52) ;
b.print();
system("pause");
return 0;
}
c++下面的两种函数的写法有什么区别?第二种写法为什么不对?应怎么改才对?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 小灸舞 2016-04-20 09:54关注
方法二的构造函数应该改成
R(int r1,int r2) { this->r1=r1; this->r2=r2; }
你写成r1=r1;编译器会把两个r1都当成形参的r1
这个和初始化参数列表不同解决 无用评论 打赏 举报
悬赏问题
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料