注册 登录
编程论坛 C++教室

请教基础知识。

钉子刘 发布于 2013-06-15 15:37, 841 次点击
class htask
{
public:
    int hseq;//任务号   
    int pro_hnum;  //映射处理器号
   
};

class stask
{
public:
     int sseq;//任务号
         int pro_snum; //映射处理器号
     int spriority; //优先级
};
我要新建一个类,继承上面htask的pro_hnum和sstask的 pro_snum,然后再自定义一个变量,应该怎么表示呢
10 回复
#2
rjsp2013-06-15 15:48
听不懂
继承的当是 某个类型,而非 某个变量
#3
钉子刘2013-06-15 18:56
回复 2楼 rjsp
怎样传递父类的对象数组给子类呢?也是要定义一个数组么?如果是接受多个父类对象数组的话,要定义二维数组么?
#4
TonyDeng2013-06-15 19:05
在类代码中操作实际对象,又是C的思维。
#5
钉子刘2013-06-15 19:21
回复 4楼 TonyDeng
能说得仔细点么?我就是要实现这个,但是现在瓶颈了
#6
TonyDeng2013-06-15 19:25
操作对象是在外部程序中进行的,不是在类中自己操纵自己的事例的,何况是数组。面向对象编程不是这种思维,设计都错了,怎么教你实现!像传统C那样在过程代码中处理数组,不要写在类中,除非你当前的类不是那个对象的类。
#7
钉子刘2013-06-15 19:32
回复 6楼 TonyDeng
不管是何种设计思想,我不在意,我关心的只是怎么实现。如果继承不能帮助我实现,那我能果断不用它,当然了,是我还没弄懂它,我想简单的通过几个语句实现,可能是困难的。先不管这些。
我先讲讲我的问题,就是贴吧里列出来的,两个类
class htask
{
public:
int hseq;//任务号
    int pro_hnum;  //映射处理器号

};
class stask
{
public:
     int sseq;//任务号
      int pro_snum; //映射处理器号
 int spriority; //优先级
};
我已经定义了这两个类的对象数组,而且已经初始化了,我现在想要做的就是,将htask类对象数组里的pro_hnum和stask类对象数组里的pro_snum均保存起来,相应的还要保存一个结果值。我的需求是这样,刚开始我考虑过三维数组,但是觉得循环要很多,后来再考虑的继承,我发现我不能再编下去了,我的思路不清晰了。。。希望大神能多说点相关的,给我一点点灵感也好。。
#8
TonyDeng2013-06-15 19:38
建议你回去用C做,没人会教你用C++做这样的东西。不要浪费时间了,你不适合学C++。就算你用某种方法做了出來,这样出去谋生,也是死路一条,忠告呢。

[ 本帖最后由 TonyDeng 于 2013-6-15 19:41 编辑 ]
#9
钉子刘2013-06-15 19:42
回复 8楼 TonyDeng
我是请教了高手后,高手推荐我这样做的。。。
一眼被大神看穿了,我所有程序都是按照面向过程编出来的。。。
用继承实现,多设计几个成员函数可观么
#10
TonyDeng2013-06-15 19:51
我不知道哪个高手推荐你这样做。上面都已经教你了,用传统C的方法,在主程序中操作由这个类生成的实例对象数组,类代码本身不用那么复杂的。

你要明白,类不过相当于一份产品设计蓝图,它只负责这种产品的设计模式和行为,至于生产者拿这份蓝图生产多少个产品(亦即你这里的数组,元素个数就是产品数),不是蓝图设计者关心的,因为他不可能知道实际的产品有多少个、也并非只有一个用户使用这份蓝图进行生产,拿这些产品怎么用,像排序之类,都不需要在类中理会。你现在的问题,就是在蓝图中指定产品的数量并进行操作,这种与未来实际使用细节相关的东西,理论上就不该在设计中实现(所有包含具体数据的东西都不应该存在)。

你把这个类当简单的结构体使用就是了,类只是附加了某些方法的结构体而已,在不需要方法的時候,就不必强硬带方法。

[ 本帖最后由 TonyDeng 于 2013-6-15 20:01 编辑 ]
#11
lzj125302013-06-15 20:38
你想要的是多重继承?
1