C++中,在全局中,类对象成员不能被赋值??

2025-05-06 09:22:44
推荐回答(4个)
回答(1):

派生类对象有基类对象的所有成员变量以及成员函数吧!可能还有基类没有的成员变量或成员函数吧!你将基类对象赋值给派生类后,如果你这个派生类访问基类没有的成员变量或者成员函数就报错了,所以将基类赋值给派生类是非常危险的,不是不能是不建议。

回答(2):

class A{
public:
int c;
}
A a ; a.c=5;//可以

class A{
int c;
}
A a ; a.c=5;//不可以,因为c是私有的。

class A{
public:
set_c(int a){c =a;}
private:
int c;
}
A a; a.set_c(5); //调用函数给c赋值。

回答(3):

类外给类的私有或者保护成员不能赋值,public公有成员可以。
赋值方式:
MyClass my;
my.m_int = 0;

回答(4):

数据成员私有,不能在类外定义