| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 615 人关注过本帖
标题:请教一个C++的问题?
只看楼主 加入收藏
hanshu540
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-2-28
收藏
 问题点数:0 回复次数:8 
请教一个C++的问题?

这个问题我搞了好久都没有解决,那位好心帮帮忙吧。

有两个类class Aclass B
A 中有一个成员类型为 B 的变量,而 B 中又有一个成员类型为 A* 的指针。
如何实现他们呢。

我为他们分别创建了文件A.h、A.cpp、B.h、B.cpp,我不知道该以什么顺序包含他们的头文件。编译总是无法通过。

搜索更多相关主题的帖子: 如何 
2006-02-28 22:47
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 

#include<iostream>
using namespace std;

class A;

class B
{
private:
A * pa;
public:
B(){pa = NULL;}
B(A * pAValue){ pa = pAValue;}
void setPAValue(A * pAValue){ pa = pAValue;}
A * getPAValue(){ return pa;}
void display()
{
cout<<std::hex<<pa<<endl;
}
};

class A
{
private:
int a;
B b;
public:
A(){ a = 0; }
A(int aValue, B bValue):a(aValue),b(bValue){}
void setAValue(int aValue){a = aValue;}
void setBValue(const B & bValue){ b = bValue;}
int getAValue(){return a;}
B & getBValue(){return b;}
void display()
{
cout<<\"a = \"<<a<<endl;
cout<<\"b = \";
b.display();
}
};


int main()
{
A a;
a.display();
cout<<\"*****************\"<<endl;
B b(&a);
A a2(2, b);
a2.display();

return 0;
}



自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-02-28 23:24
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
收藏
得分:0 
在B的.h头文件里声明类A
在A的.h头文件里引用类B的头文件。
A.cpp引用A.h
B.cpp引用B.h (如果用到了A对象,需要引用A.h)

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2006-03-01 10:07
hanshu540
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-2-28
收藏
得分:0 

感谢二位仁兄的回答

但是我按3楼仁兄的办法虽然可以编译通过了,但是连接却无法通过,不知道是为什么。我用的编译器是VC6.0。


2006-03-01 12:04
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
收藏
得分:0 
啥错阿?发上来看看

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2006-03-01 12:08
hanshu540
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-2-28
收藏
得分:0 

--------------------Configuration: AB - Win32 Debug--------------------
Compiling...
B.cpp
Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/AB.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

AB.exe - 2 error(s), 0 warning(s)


2006-03-01 12:17
西部天狼
Rank: 1
等 级:新手上路
帖 子:95
专家分:0
注 册:2006-2-23
收藏
得分:0 

2楼的代码没有错啊,我编译且运行过了


学习-->编程-->交流-->再学习-->再编程-->再交流
2006-03-01 12:19
hanshu540
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-2-28
收藏
得分:0 
2楼当然没有错啦,不过只是我想在每个类的分别不同文件中实现。

2006-03-01 12:24
hanshu540
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-2-28
收藏
得分:0 
重新编译了一次,已经解决,谢谢各位的热心。

2006-03-01 12:30
快速回复:请教一个C++的问题?
数据加载中...
 
   



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

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