我是一名学生,我在理解面向对象编程 (OOP) 中的单个成员指针的概念时遇到了问题,我在 Google 上搜索了很多但没有得到这个想法!
你能帮我详细了解一下吗?
我是一名学生,我在理解面向对象编程 (OOP) 中的单个成员指针的概念时遇到了问题,我在 Google 上搜索了很多但没有得到这个想法!
你能帮我详细了解一下吗?
因此,在从评论中进一步澄清之后,您似乎想知道类中的指针成员,如下所示:
class Foo
{
public:
int* a;
};
现在类中的指针与普通变量基本相同,但是由于您在这里处理内存,因此您将增加 3 件事情(三规则):
operator=
我不会在这里详细介绍,但它应该看起来像这样:
class Foo
{
private:
int a*;
public:
~Foo() // destructor
{
delete a;
}
Foo(const Foo& cpy) // copy constructor
: a(cpy.a) {}
Foo& operator=(const Foo& cpy) // assignment
{
a = copy.a;
}
};
在继续将指针作为类中的属性之前,请先了解这三个规则,称为“三规则”。
每当您发现自己在类中使用指针时,您都需要实施三法则。
希望这可以帮助 :)