在C ++中,类变量的初始化顺序与它们在类声明中显示的顺序相同。
看一下下面的代码:
#include<iostream>using namespace std;class Test {private:int y;int x;public:Test() : x(10), y(x + 10) {}void print();};void Test::print(){cout<<"x = "<<x<<" y = "<<y;}int main(){Test t;t.print();getchar();return 0;}
该程序打印正确的x值,但会打印y的一些垃圾值,因为y在x之前在类声明中出现之前被初始化。
因此,可以使用以下两个版本之一来避免上述代码中的问题。
代码一:
class Test {private:int x;int y;public:Test() : x(10), y(x + 10) {}void print();};
代码二:
class Test {private:int y;int x;public:Test() : x(y-10), y(20) {}void print();};
以上就是今天的全部内容了。每日分享小知识,希望对你有帮助~
**另外如果你想更好的提升你的编程能力,学好C语言C++编程!**弯道超车,快人一步!笔者这里或许可以帮到你~
C语言C++编程学习交流圈子,**QQ群【951258402】**微信公众号:C语言编程学习基地
分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
编程学习视频分享: