class 和struct
其实都是类。用法差不多。
唯一的不同点是,如果变量没有给访问属性,那么class 就指定private(私有),struct就相当于public(共有)
public
所有人都能访问。这是一个通用接口。
protect
给子类预留的接口,只能给子类使用,其余的都不能调用。
private
只有在该类的函数可以访问 ,而不是所谓的.cpp文件。子类都无权直接调用,但是可以通过父类的函数调用
同一个类的不同对象也可以访问私有变量。
Friends:当你申明别人是你的朋友之后,别人就可以访问你的私有变量了。《别人:别的类或者其函数,别的函数》
例如:
struct X; //声明一个类
struct Y{
void f(X*); //
}
struct X{ //定义
private :
int i;
public :
void initialize();
friend void g(X*,int);//关联friend
friend void Y::f(X*);//struct member friend
friend struct Z;//Entire struct is friend
friend void h();
}
void X::initializa()
{
i=0;
}
void g(X *x,int e) {
x->i=e;
}
struct Z{
private :
int j;
}