如何使用new()调用嵌套类中的方法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用new()调用嵌套类中的方法?相关的知识,希望对你有一定的参考价值。
现在,我有一个嵌套类,如下所示:
class Outer{
public:
class Inner{
public:
void display(){
cout << "You are in inner class" << endl;
}
};
void display(){
cout << "You are in outer class" << endl;
}
};
我必须创建每个类Outer
和Inner
的实例,以便我可以调用他们的每个display()
方法。我必须使用new
来调用它们作为我的要求的一部分。我可以调用Outer
类,并指向它的方法如下:
Outer *pOuter = new Outer();
pOuter->display();
但是,我在为Inner
课做同样的麻烦。我试过了:
Outer:Inner *pInner = new Outer:Inner();
pInner->display();
但是,这不起作用。所以我想知道在使用new
时我可以做些什么来调用内部方法?
答案
使用完全限定的路径:
Outer::Inner* p = new Outer::Inner;
p->display();
delete p;
没有指针:
Outer::Inner o;
o.display();
或者标记功能static
并调用:
Outer::Inner::display();
话虽这么说,因为它更适合(Outer
)命名空间而不是类。
以上是关于如何使用new()调用嵌套类中的方法?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 View 类中的代码片段移动到 OnAppearing() 方法?
如何让片段中的多个视图调用片段类中声明的相同 onClick 函数?