21xrx.com
2024-12-22 19:55:02 Sunday
登录
文章检索 我的文章 写文章
C++ 中类的嵌套使用
2023-07-07 16:23:13 深夜i     --     --
C++类 嵌套 继承 成员访问控制 命名空间

C++中的类嵌套是指在一个类中定义另一个类,被嵌套的类可称为嵌套类,也可称为内部类。类的嵌套使用可以减少命名冲突,提高代码可读性和可维护性,还能更好地实现面向对象的特性。

在C++中,嵌套类可以定义在另一个类的内部,也可以定义在函数内部。在内部类中,可以访问外部类的所有成员和方法,但外部类却无法直接访问内部类的成员。

定义嵌套类需要在外部类的内部使用类定义语句,并在其中声明内部类的成员和方法。外部类定义内部类的方式为“外部类名::内部类名”,例如:


class Outer{

  private:

    int num;

  public:

    class Inner{

      private:

        int innerNum;

      public:

        Inner(int n);

        void printNum();

    };

    Outer(int n);

    void printNum();

};

在上述代码中,Outer类中包含了一个名为Inner的嵌套类。在嵌套类内部,我们可以定义自己的成员函数和变量,这些成员函数和变量可以随时被外部类的成员函数所访问。同时,嵌套类的对象也可以被当成外部类的成员使用:


Outer::Outer(int n):num(n){}

void Outer::printNum()

  cout << "Outer num:" << num << endl;

Outer::Inner::Inner(int n):innerNum(n){}

void Outer::Inner::printNum()

  cout << "Inner num:" << innerNum << endl;

int main(){

  Outer obj(10);

  obj.printNum();

  Outer::Inner obj1(20);

  obj1.printNum();

  return 0;

}

在上述代码中,我们定义了一个名为obj的Outer类型对象,并通过它调用了printNum函数。接着,我们又定义了一个名为obj1的Inner类型对象,并通过它调用了printNum函数。

总的来说,通过类的嵌套使用,我们可以更好地实现对象之间的关系,提高代码可读性和可维护性。嵌套类的使用需谨慎,特别是在类的设计中需要考虑各种因素,否则会导致程序结构混乱和代码不易理解。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复