C++ 类 的问题。。。。

•定义类时,那些成员数据和成员函数是必须的,那些不是?public、protected、private分别表示什么意思?能否对类的成员数据在定义时初始化?

定义类时,没有任何成员数据和成员函数是必须的,你完全可以定义一个空类:class A{};
关于public、protected、private,可以举例解释:
class A{
public: // 此后的所有成员,都是公有的。可以在外部调用它
A():m_a(0),m_b(0),m_c(0){}; // 和类同名的函数,是构造函数,在此对成员初始化。
int m_a; // 在外部,a.m_a的写法是可以的。
protected: // 此后的所有成员,都是被保护的。不可在外部调用它,但可以在派生类对象中调用。
int m_b; // 在外部,a.m_b的写法是不行的;但在派生类的内部是可以调用m_b的。
private: // 此后的所有成员,都是私有的。只能在本类内部调用。
int m_c; // 除了本类A的内部,任何其他地方包括派生类内部,都不可调用m_c。
} a;
class AA : public A // AA是A的派生类
{
public:
void f(){
m_b = 1; // 在派生类中,可以访问父类protected的成员m_b,但不可访问private成员m_c。
};
}aa;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-22
public:可被其它类访问;
protected:可被基类访问;
private:只能被自己访问。

成员数据不能在定义时初始化。一般是在构造函数头后或函数体中初始化。
第2个回答  2012-11-22
这个继承问题这一块的。
相似回答