我们可以在类声明中声明类类型的指针吗?
Could we declare a pointer of the class's type in the class declaration?
我知道这对于结构体来说是可能的:
struct A{
A* p;
};
但是我们可以对一个类这样做吗:
class B{
B*p;
}
我试图谷歌它,但最终没有找到它。谢谢!
是的。使用 struct
声明的类与使用成员和基的默认访问权限以外的class
声明的类之间没有区别。
是的,类可以包含指向相同类型的类的指针,并且表示该类的符号可以出现在函数的签名中或该类中定义的函数的主体中。此外,应该注意的是,在C++中,struct
和 class
是相同的,只有一个区别——结构的默认访问级别是"public",而类的默认访问级别是"private"(当然,可以在任何一个开头简单地写"public:"或"private:",以便更改访问级别;只有约定导致"类"用于包含更多功能的类型,封装和纯数据对象的"结构")。
相关文章:
- 为什么我必须以这种方式声明指针?
- 声明指针时更改星号的位置
- 为什么要在初始化SDL之前在SDL中声明指针
- 在C++中声明指针的 2D 数组的方法
- 如何在C 中使用不同数据类型的类模板指针声明指针
- 如何声明指针/引用对模板类成员类型
- C :如何使用thread_local声明指针变量
- 声明指针时的隐式内存分配和初始化
- 了解初始化和声明指针变量时的警告和编译错误
- 在标头中声明指针会导致访问冲突
- 为什么我不能转发声明指针结构?
- 声明指针的动态数组
- 正在声明指针的类型
- C++11 decltype:如何声明指针指向的类型
- C++ 转发声明(指针) - 访问成员
- 为什么我可以在头文件中声明数组,但不能声明指针
- 为什么我需要声明指针而不是对象
- 我们可以声明指针的大小吗?
- 错误 C2143:语法错误:声明指针时'*'之前缺少';'
- 在实现类之前声明指针时出现问题