读书人

protect,public,private 的差别

发布时间: 2013-04-02 12:35:26 作者: rapoo

protect,public,private 的区别
简单介绍一下 protect,public,private 的区别,更详细的随后不上。 欢迎纠错~
以C++为例: public: 数据成员和函数成员可在成员函数,友元,继承类中直接使用。亦可以作为接口,供类的用户使用(即 A a, a.change())。 private: 数据成员和函数成员,只能在 类成员和友元 中访问。不能被继承类访问(无论何种继承),虽然作为继承 类的私有成员,但 在 使用过程中,是通过调用基类的构造函数 完成参数的传递的。继承类不能访问基类的私有成员。 protect: 在基类中用法同private,基类对象不能访问。在派生类中,用法同基类的public, 其成员可被其继承类对象访问使用。

Class A{public:   A(string& Name = "lihao",int Age = 21)   {}   virtual void print()const;private :   string name;   int age;}void A::print()const{   cout<<name<<endl    <<age<<endl;}Class B:public A{public:    B(string& Name,int Age,int Grade):A(Name,Age),grade(Grade)    {}private:    int grade;}void B::print()const{     A::print();     cout<<grade<<endl;}

读书人网 >编程

热点推荐