C++类的嵌套(2)-访问权限和调用关系

类似于命名空间,一个类也是一个类命名空间。因此类嵌套的作用是帮助实现外层类,并且避免命名冲突。
  对于命名空间(不再赘述可以参考《c++ prime plus》),其中定义的变量和函数的作用于在不加引用的情况下,是命名空间内,并且符合一般的访问控制。嵌套类也一样:
    外层类可以用嵌套类定义对象,也可以定义他的指针。外层类使用内层类是符合一般类的访问权限控制,public:中的可以在外层访问等等。只有当嵌套被声明为public时,才可以在外层类的外部使用它,而且必须使用作用域限制符,比如:
#include <iostream>
class A{
    class B{
    };
};
int main(){
    A::B b;//必须用::
    getchar();
    return 0;
}

时间: 2024-10-01 02:21:22

C++类的嵌套(2)-访问权限和调用关系的相关文章

Java基础总结--常用类以及包的访问权限

-----Object---所有类的根类1.怎么得到的:通过对所有对象不断的向上抽取共性,具备所有对象的共性的东西2.常用的方法* equals(Object obj):比较两个对象的引用是否指向同一个对象,本质就是引用地址是否相同,相同就返回true;作用和"=="一致,其子类继承后,只判断地址没有意义,一般会对该方法进行重写,重写后比较的是对象的特有内容是否相同.也用到了多态,为了代码的扩展性.eg字符串equals比较的就是内容.注意一个细节:重写后存在多态,若要访问子类特有数据

1223访问权限、继承关系、值类型和引用类型

一.访问权限 a.类的访问权限(修饰符): public:跨程序集,命名空间,必须要using引用 internal:默认,自己当前命名空间范围,不可以跨越使用 成员的访问权限(修饰符): public:公共的,可以跨空间.跨程序集使用 private:私有的,只能在当前类使用 protect:受保护的,只能在当前类和子类使用 internal:当前命名空间可以使用,但是会随着所在类的范围而定,当我们把类的范围改为public时,则internal的成员也可以   随之在其他命名空间使用: 二.

类中嵌套另一个类时,调用构造,析构,拷贝,赋值运算符等函数的次序

class A { public: A(int a = 0) :a(a) { cout << "A()" << endl; } A(const A& other) { cout << "A&()" << endl; } A& operator =(const A& other) { cout << "operator = " << endl;

java类的访问权限

1.解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”.被其修饰的类.属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问. default:即不加任何访问修饰符,通常称为“默认访问模式“.该模式下,只允许在同一个包中进行访问. protect: 介于public 和 private 之间的一种访问修饰符,一般

Java类和类成员的访问权限修饰符

一:访问修饰符: 1.省略访问修饰符 具有默认的访问特性,即具有包访问特性,只能被同一个包中的类使用. 2.public访问修饰符 用于说明类和类的成员的访问权限.这种类叫公有类.在一个文件中只能有一个public类型的类. 例如:Rect和UseImport两个类,分别在两个不同的包中.顺便回顾一下不同类要用import导入.(哎,一直就没记住) //Rect.java pacakage my; public class Rect { private int a,b; public void

关于C++类中访问权限的若干疑问(虚函数访问权限)

下面这样一个程序:(以下程序都是在VS2010下实现) 1: class Base 2: { 3: public: 4: virtual void func() 5: { 6: cout<<"Base virtual func"<<endl; 7: } 8: }; 9: 10: class Derived: public Base 11: { 12: private: 13: virtual void func() 14: { 15: cout<<&

Java中的访问权限解析

在Java中不同的对象和类拥有不同的访问权限,所以在java中对不同的类和对象进行权限的设置显得尤为重要. java中的权限主要分为四种,public,protect,private,和default在声明类和对象的时候如果没有注明权限则为默认的即(default).下面将对这四种权限仅向简单的解析,部分为网上博主的总结再加上个人总结 1.权限解析Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符.private:

Java成员的访问权限控制

Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以是public,protected, package private(无修饰符), or private. 以下表格总结了类成员中不同访问权限控制修饰符对应的访问级别:

Chapter6_访问权限控制_访问权限修饰词

Java中有四种访问权限,public,private,protected和包访问权限,它们是置于类中每一个成员之前的定义,无论是一个域还是一个方法,下面一一介绍. 一.包访问权限 如果不提供任何访问权限修饰词,这意味着是包访问权限.即当前包中的所有其他类对那个包访问权限的成员都有访问权限,但对于这个包之外的所有类,这个类是private的,所以处于一个编译单元中的所有类之间,都是可以互相访问的.包访问权限允许将包内所有的类组合起来,以便于它们之间可以轻松地相互访问.总的来说,取得对某成员的访问