| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 969 人关注过本帖
标题:大家过来看看,嵌套定义类的使用
只看楼主 加入收藏
幽园香客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:231
专家分:142
注 册:2006-2-27
结帖率:50%
收藏
 问题点数:0 回复次数:7 
大家过来看看,嵌套定义类的使用

昨天碰到这样一个问题,大家来看看是怎么回事。
class TestA
{
class TestB
{
};
};

void main()
{
TestA testa;
testa.TestB testb; //这里报错:function-style cast' : illegal as right side of '.' operator
……
}

如果在程序中,想使用类TestB定义一个实例的话,该怎么去做?

搜索更多相关主题的帖子: 嵌套 定义 TestA testa TestB 
2006-10-17 10:16
jarrygong
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-10-17
收藏
得分:0 
你嵌入用错了.TESTA test a
TESTB TEST A test a
2006-10-17 10:24
chenjun799
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-8-25
收藏
得分:0 

testa.TestB testb;
这里怎么可以这样用啊!
class TestA
{
public:
class TestB
{
};
TestB testb;
};

void main()
{
TestA testa;

testa.testb; //这样TestA的对象就可以调用TestB的对象了;

}
不知道我说的对否?

2006-10-17 10:32
幽园香客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:231
专家分:142
注 册:2006-2-27
收藏
得分:0 
呵呵,搞定了!谢谢楼上的提醒。
我是这样做的:
class CTestA
{
class CTestB
{
};
CTestB testb;
};
void main
{
CTestA testa;
testa.testb; //这里直接可以调用CTestB的对象testb。
……
}

做个有用的人!
2006-10-17 17:12
lianxinkai
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-3-3
收藏
得分:0 
改一点:

class CTestA
{
class CTestB
{
};
// CTestB testb;//这里放这就不灵活了:还是放主函数里好!
};
void main
{
CTestB testb;
CTestA testa;
testa.testb; //这里直接可以调用CTestB的对象testb。
……
}

在知识的海洋中我永远得不到满足!
不过也喜欢玩游戏
2006-10-17 20:24
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 

class 本身就是一个namespace。写B的时候应该加上resolution operator。不应该在原有的TestA class里面加实际的对象。
应该这样写:

class TestA
{
public:
class TestB
{
};
};

int main()
{
TestA::TestB testb;
return 0;
}


http://myajax95./
2006-10-18 12:07
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
yeah

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-10-18 17:19
幽园香客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:231
专家分:142
注 册:2006-2-27
收藏
得分:0 
谢谢楼上的几位,我对嵌套类有了更深刻的理解!

做个有用的人!
2006-10-22 19:04
快速回复:大家过来看看,嵌套定义类的使用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027655 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved