好贷网好贷款

指针和引用当参数传递的一个奇怪现象——目前没在书上找到原因

发布时间:2016-12-4 18:25:46 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"指针和引用当参数传递的一个奇怪现象——目前没在书上找到原因",主要涉及到指针和引用当参数传递的一个奇怪现象——目前没在书上找到原因方面的内容,对于指针和引用当参数传递的一个奇怪现象——目前没在书上找到原因感兴趣的同学可以参考一下。

当用引用传参时候,内存会有错误 代码如下: #include <iostream> using namespace std; class A { protected: int i; public: A(){ i = 99; } }; class B :public A { public: void BF(){cout << i << endl; }//内存错误 }; class C { private: B &b; public: C(B &b) :b(b)//********这里用应用传参***********运行会错误 { } void CF(){ b.BF(); } }; class D : public B, public C { public: D() : B(), C(*this) { CF(); } }; int main(int argc, char* argv[]) { D d; return 0; } 星号处改为用指针传参,不会有问题 代码如下: #include <iostream> using namespace std; class A { protected: int i; public: A(){ i = 99; } }; class B :public A { public: void BF(){cout << i << endl; } }; class C { private: B *b; public: C(B *b) :b(b)//********这里用引用传参***********运行会错误 { } void CF(){ b->BF(); } }; class D : public B, public C { public: D() : B(), C(this) { CF(); } }; int main(int argc, char* argv[]) { D d; return 0; } 目前对此问题还没想法,坐等大神回复。

上一篇:个税计算器支持相关请回复本帖
下一篇:

相关文章

相关评论