C++中,类里面不能给成员赋值?

class A{public:int a = 1;int b;private:int c;} 这样写行吗?编译时会分配内存吗
2024-12-12 13:51:42
推荐回答(5个)
回答1:

不行。应该这样,在构造函数里初始化。

class A
{
public:
A():a(1){}
int a;
int b;
private:
int c;
};

或者在构造函数里赋值:

class A
{
public:
A(){a=1;}
int a;
int b;
private:
int c;
};

回答2:

可以的,但是这样写不规范,函数成员一般放在private中。这样才能保证类的封装性

回答3:

不会,类是数据类型,要想赋值要先实例化

回答4:

建议写成默认构造函数

回答5:

不可以,要在构造函数里初始化