c++的一个小问题,高手朋友别嫌弃,帮忙指点指点~

Study_Knowledge 2009-05-11 07:47:38
#include <iostream>
using namespace std;
class Look
{
private:
int l_nNumber;
public:
void Get(){
class local
{
public:
void get(){
cout<<"hhhhhhhhhhhhhhhhh"<<endl;
}
protected:
private:
};

}
};
void main(){

}
这是我写的一个局部类,我想问一下高手朋友,怎么才能调用里面的get()方法,另外由于我是一个新手,我希望高手朋友放写你们的写的经典代码让小弟敲敲,
理解理解代码的深切含义,小弟在这里万分感谢~
...全文
112 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Study_Knowledge 2009-05-12
  • 打赏
  • 举报
回复
你这是内联啊,局部类的定义是在函数里面写一个类啊~,书上说是通过外围类的对象和相关函数联系~谢谢朋友~
Study_Knowledge 2009-05-12
  • 打赏
  • 举报
回复
朋友,你这是嵌套类,并不是我说的局部类啊~,不过还是谢谢你的帮助~呵呵
Study_Knowledge 2009-05-12
  • 打赏
  • 举报
回复
我也是这么想的啊,但是书上有这个,我同学问到我了,我想了半天都没想出来。
书上也说这个基本上是不会使用到的,但是我总要知道怎么使用吧
  • 打赏
  • 举报
回复
如果你的local 类的声明在局部,那就没办法了,作用域的限制,你将下需求,我觉得其实不应该要这样的。
机智的呆呆 2009-05-11
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;
class Look
{
private:
int l_nNumber;
public:
void Get(){
class local
{
public:
void get()
{
cout <<"hhhhhhhhhhhhhhhhh" <<endl;
}
protected:
private:
};
(new local())->get();

}
};
int main()
{
Look lk;
lk.Get();
system("pause");
}

lz可以参考一下~~
yangch_nhcmo 2009-05-11
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;

class local
{
public:
inline void get()
{
cout <<"hhhhhhhhhhhhhhhhh" << endl;
}
};

class Look
{
private:
int l_nNumber;
public:
void Get()
{
lc.get();
}
protected:
local lc;
private:
};



int main()
{
Look lk;
lk.Get();

return 0;
}

tangshuiling 2009-05-11
  • 打赏
  • 举报
回复

纯粹为难人的代码,类体在成员函数体中如何能在外部引用(已经超越了编译器的能力)
fallening 2009-05-11
  • 打赏
  • 举报
回复
class Lock
{
public:
Lock();
~Lock();
void Get();
private:
class local;
local* l;
};

Lock::Lock()
{
l = new local;
}

Lock::~Lock()
{
delete l;
}

class Lock::local
{
public:
void get(){ cout << "hello world."; };
};

void Lock::Get(){ l -> get(); }

int main()
{
Lock L;
L.Get();

return 0;
}
fallening 2009-05-11
  • 打赏
  • 举报
回复
class Lock
{
public:
Lock();
~Lock();
void Get();
private:
class local;
local* l;
};

class local
{
public:
void get(){};
};

void Lock::Get(){ l -> get(); }

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧