我们可以在类声明中声明类类型的指针吗?

Could we declare a pointer of the class's type in the class declaration?

本文关键字:声明 指针 类型 我们      更新时间:2023-10-16

我知道这对于结构体来说是可能的:

struct A{
    A* p;
};

但是我们可以对一个类这样做吗:

class B{
    B*p;
}

我试图谷歌它,但最终没有找到它。谢谢!

是的。使用 struct 声明的类与使用成员和基的默认访问权限以外的class声明的类之间没有区别。

是的,类可以包含指向相同类型的类的指针,并且表示该类的符号可以出现在函数的签名中或该类中定义的函数的主体中。此外,应该注意的是,在C++中,structclass 是相同的,只有一个区别——结构的默认访问级别是"public",而类的默认访问级别是"private"(当然,可以在任何一个开头简单地写"public:"或"private:",以便更改访问级别;只有约定导致"类"用于包含更多功能的类型,封装和纯数据对象的"结构")。