社区
C++ 语言
帖子详情
c++简单的类问题
galuodo
2009-05-01 11:01:26
用C++
定义了一个招式的类SKILL
又派生了一个任务的类man
发现一个人只能有一个招式
有什么方法可以使每一个人有若干个招式,而其各异增减呢
...全文
139
11
打赏
收藏
c++简单的类问题
用C++ 定义了一个招式的类SKILL 又派生了一个任务的类man 发现一个人只能有一个招式 有什么方法可以使每一个人有若干个招式,而其各异增减呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
galuodo
2009-05-02
打赏
举报
回复
谢谢ls
Paradin
2009-05-02
打赏
举报
回复
顶ls
光宇广贞
2009-05-02
打赏
举报
回复
[Quote=引用 5 楼 galuodo 的回复:]
我们c++让自学,所以很多都不清楚...
ls能不能把 对像的列表 解释一下啊??
[/Quote]
给你一个基本的架构吧,真是不能再往下提示了,否则等于你的项目交给我做了。
class SkillBase
{
public:
virtual void DoSkill() = 0;
}
class Skill : SkillBase
{
public:
virtual void DoSkill()
{
// Do your Skill
}
}
class ManBase
{
protected:
SkillBase _MySkills[]; // Skill 列表
public:
virtual void AddSkill(SkillBase skill) = 0;
virtual void RemoveSkill (SkillBase skill) = 0;
virtual void ShowMySkill() = 0;
public:
ManBase();
virtual ~ManBase();
}
class Man : ManBase
{
public:
Man() : ManBase()
{
_MySkills = new SkillBase[MAX_SKILLS_NUM];
}
virtual ~Man()
{
delete[] _MySkills;
}
public:
void ShowMySkill()
{
// 遍历列表
}
// ADD 和 REMOVE 方法
}
galuodo
2009-05-02
打赏
举报
回复
不是做游戏...是作业要做一个角色管理系统...
mengde007
2009-05-02
打赏
举报
回复
使用抽象基类;声明出招式这个函数;然后派生就行了;在派生类里面将那个函数表达出不同的意思;
飞翔的阿狸
2009-05-02
打赏
举报
回复
楼主先把C++的基础打好,再考虑怎么做游戏吧。
你问的问题跨度太大,就跟建空中楼阁是一个道理。
galuodo
2009-05-02
打赏
举报
回复
我们c++让自学,所以很多都不清楚...
ls能不能把 对像的列表 解释一下啊??
galuodo
2009-05-02
打赏
举报
回复
本人比较本,能不能给个网址啥的学习学习,谢谢啦
光宇广贞
2009-05-02
打赏
举报
回复
让 man 类的对像维护一个自己的 skill 对像的列表。然后操作这个列表就完了。
就是这么简单的事儿。
没有网站会讲这个事儿。
有的话,你需要找的是设计模式。
但设计模式对于你当前的问题是牛刀杀鸡……
windsting
2009-05-01
打赏
举报
回复
如果你用的是public继承,你的SKILL和man的关系应该是:
"man是一种特殊的SKILL",但实际上这个关系应该是不成立的,
按照你的要求,他们的关系应该是:
"man里面有一些SKILL,这些SKILL可以具有不同的属性",
很明显,你这种需求应该让SKILL的对象(可以是一个列表)成为man的data member。
npuhuxl
2009-05-01
打赏
举报
回复
可以不是继承,而是维护一个Skill对象列表,
再可以将这个维护工作抽象出一个类
如何调用cuda_
C++
使用
类
调用 CUDA 核函数
本文详细介绍了如何在
C++
类
中通过封装调用CUDA核函数,解决CUDA与
C++
类
成员函数不兼容的
问题
。以一个
简单
的数组相加例子为示例,涉及add.h、add.cpp、kernel.cuh和kernel.cu四个文件的编写,演示了如何定义
类
、接口函数、核函数以及调用过程。
C语言调用
C++
类
中函数,C语言
C++
混合编译
本文详细介绍了在Ubuntu环境下,如何通过C语言调用
C++
代码的具体步骤。通过创建box.cpp、box.h和main.c文件,实现了一个
简单
的
C++
类
,并在C语言中调用了该
类
的方法。文章还分享了在混合编译过程中遇到的
问题
,如
C++
输入输出函数在C语言中未定义的引用错误。
C++
类
的静态成员的初始化出现访问冲突、myhead nullptr错误
博客探讨了在
C++
中使用静态成员,特别是静态成员为复杂
类
(如map)时遇到的访问冲突和初始化
问题
。作者遇到的
问题
在于静态成员初始化,通过在.h文件声明并在.cpp文件中初始化导致错误。解决方法是将静态成员改为map指针,并在
类
的初始化函数中用new操作进行初始化。总结中指出,静态成员最好是
简单
类
型或指针,避免直接使用复杂
类
。
C++
--- string
类
的
简单
实现
本文结合C语言函数,对
C++
的STL中string
类
的常用接口进行
简单
实现,以从底层理解string
类
。实现方法声明定义分离,涵盖基本成员、构造与析构方法、遍历方式及常用方法和运算符重载等内容,还考虑了命名冲突、扩容机制等
问题
。
C++
简单
的
类
继承:刚学
C++
自己写的第一个
类
博客主要围绕
C++
编程展开,通过
简单
的
类
继承实现多种图形面积的计算并打印,体现了
C++
在解决实际
问题
中的应用,属于信息技术领域的编程实践。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章