对构造函数初始化的初步理解

    技术2024-10-27  22

    #include<iostream> using namespace std; class Sample{ public: int v; Sample(){};//1 Sample(int x):v(x){};//2 Sample(const Sample&x)//3 { v=2+x.v; } }; void printanddouble(Sample o) { cout<<o.v<<endl; } int main() { Sample a(5);//这个等价于以整型初始化类a Sample b=a;//等价于以对象a初始化b ,所以此时b=7 printanddouble(b);//在这里,对象b再次初始化(+2)所以这里输出9 Sample c=20; printanddouble(c);//这里和上面的是类似的,这里输出22 Sample d;//以无参构造函数初始化 d=a;//这里只是赋值让d=5 cout<<d.v;//作用:输出b也就是5 return 0; }

     

     

    Processed: 0.011, SQL: 9