本文主要是介绍c++中基类构造函数初始化父类中private成员的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
代码如下:
#include <iostream>using namespace std;class a{
private :int i;
public:a() {}a(int x) :i(x) {}//初始化列表对private成员初始化void printa(){cout << "i = " << i << endl;}
};class b :public a{//继承父类的public成员
private:int j;
public:b(int x, int y) :a(x)//使用初始化列表的形式初始化父类a中的private成员变量i{//i = x; i是private成员,直接赋值是不符合语法//a(x); 在子类中的构造函数中调用父类的构造函数也是错误的j = y;}void printb(){cout << "j = " << j << endl;}
};int main(int argc, char *argv[])
{b b1(34, 56);b1.printa();b1.printb();while (1);return 0;
}
输出的结果:
这篇关于c++中基类构造函数初始化父类中private成员的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!