C++的访问控制public&private

来源:百度知道 编辑:UC知道 时间:2024/06/09 17:47:42
看书看不明白,所谓的类内访问是什么意思?什么叫类内,什么叫类外?
比如
class A{
public:
void func();
private:
int _i;
}
A a;
a._i = 0;
这样叫类外么?
还有可不可以在任何地方用A::func()而不建立实际对象?

a._i=0语句会出错,说无法访问,因为是在类外。
<br>A::func()也会出错,因为你func()是动态方法,必须由类的实例来调用。如果把func()声明为静态方法,就可以不建立对象而访问该方法。但是,即使是静态方法,也不是像你那样访问的,你的语法有错误。

class A//就是类
{
//类内
}
在{}之外的就是类A外了
A::func()
这个是在类内声明函数后在类外定义的一种方法!
如果不加"类名::"的话,编译系统就不会知道你的函数属于哪个类;
另外,这样定义函数一定要在类中声明之后,说明它是类的成员函数才可以!
在类内声明的时候就不需要::了,直接 返回值类型 函数名(参数表) 就可以了!