为实验测试编写测试与数据处理软件(一)

啊啊啊,是第一次在这个小博客里发文,从来没有发过文章,编程水平也很低,权当给自己记录各种开发时遇到的问题。万一有大神进来了以极其高超的武功传我一招半式也说不定呢!!!

————————————————————————–分  ——  隔 —— 线 ————————————————————————————————————————-

数据处理软件、编码测试软件

 

1、背景

2、需求

实验中会涉及到编码的模拟测试,编码后数据的处理。

模拟测试包括硬件环境的模拟与信 发生、数据处理需要将编码的信 解码并进行一系列显示。

关于编码和解码的方法是它人开发,需要整套系统对编码开发者透明,只提供简单的为使用接口。


3、计划

开发一套软件(其实就是几块代码啦┗( T﹏T )┛),希望开发三个模块,一个是规定了编码的编码方法和解码方法,主要内容为两个函数,参数使用封装的input_inf和output_inf。一套编码方案需要其编写者给出编码和解码方法;二是测试组件,负责规定硬件环境,以及生成一系列测试数据,需要绑定(以某种形式( ̄~ ̄) 嚼!)编码方案后使用;三是数据处理及显示,负责将数据解码进行可视化处理和统计分析。

4、问题

如何绑定编码方案和其他组件在太小白,没有开发经验。使用的设想是实验人员自行编写编码方法和解码方法,然后在主程序中(可以考虑简单的GUI)进行绑定,如Set_codmethod()。后根据需求进行测试和数据处理。

 

5、解决方案

 

  1. 设计类结构,分为三个class,实现绑定。

(失败啦!)我想将编码方案封装为class, 编写好basic_method class,而所有编码方案是basic class 的子类。测试环境的数据也打包成class,内包括一些环境数据(成员变量)和一些测试函数(成员方法),使用时将测试环境的class实例化,内部有一个basic_method class成员变量,绑定时将该变量赋值为测试方案的实例。

 

不过失败了,测试环境调用编码方案的函数时调用了父类即basic_method class的方法。

(下续)

2015/9/7 更

    第一个解决方案可以使用了!既然父类充当模板或接口,需要将成员方法设定为虚函数,即virtual关键字修饰。这样接收basic_method class的函数接收到advanced_method class 实例时会自动调用子类即advanced_method class的方法。

    哎,c++或者java课肯定都学过,不过不使用就没有明白其设计者的真正含义。

下接测试代码。

输出

advanced

现类结构如下:

还发生了一个小bug插曲,就是构造函数或其他传入basic_cod_gen指针的成员方法一开始并不是传入指针,传入的basic_cod_gen实例,导致指针错误。原因很简单,实参传入时被拷贝,在构造函数内取地址赋给 basic_cod_gen *cod,实际传入无效地址,导致程序运行时指针错误。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年8月4日
下一篇 2015年8月5日

相关推荐