是的,C++中类的数据成员不管是不是私有的,都不能进行初始化。
因为类就相当于一个数据的模板,是一种自定义组合的新数据类型,而不是一个变量。当程序声明一个类的时候,事实上并没有为程序申请存储空间,只有用这个类定义一个类对象的时候,才申请空间。连空间都没有,当然不能像定义变量一样的初始化了。
扩展资料:
类的私有数据成员的两种初始化方式如下
Point类的构造函数可以写成以下两种方式:
1、//1Point(int xx = 0, int yy = 0) {
x = xx;
y = yy;
}12345
2、//
2Point(int x = 0, int y = 0) : x(x), y(y) { }
注意,第二种方法中的初始化列表中的x(x),虽然都是相同的x变量名,但是两个x是完全不同的变量。
参考资料来源:百度百科-C++