您的位置:首页 > 其它

关于public ,private protect

2016-05-18 10:19 253 查看
protect和private成员要使用本类的成员函数去访问,不能直接使用其本类的对象访问。注意:基类的protect成员变量可以被子类的成员函数去访问,但基类的private成员
变量不能能被子类的成员函数访问。 也就是说protect和private成员变量都可以被本类的成员函数访问,但protect变量还可以被子类的成员函数访问,但private变量不行,
这就是private变量和protect变量的区别。  stud.num=100;//出错,//假如num是Student类的protected成员,不能直接使用对象访问。但这样就可访问 到私有成员了。
class myD
{
private:
int a;
public:
int Getint() {return a+b;}
protect:
int b;
public:
myD(int x,int y):a(x),b(y){}
};
class myson: public myD
{
private:
int a;
public:
int Get() {return myDa::b;}
};

只有构造函数可以有基/成员初始值列表。如下将错误,
class myD
{
private:
int a;
protected:
int b;
public:
// myD():a(11),b(22){}
int Getint():a(11),b(22) { cout << a<< endl; return a;}
int get() {return b;}
};

正确如下

class myDR
{
private:
int a;
protected:
int b;
public:
myDR():a(11),b(22) {}
int GetA(){ cout << a<< endl; return a;}
int getB() {return b;}
};

main()
{
myD myd;
myd.get();
myd.Getint();
int c = myd.a; //错误,不能使用对象直接访问protect和private成员 int i = myd.b; //错误,同上
mySON mySd;
int i= mySd.get();
}




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: