什么是抽象数据类型?试用C++的类声明定义“复数”的抽象数据类型。要求:
(1)在复数内部用浮点数定义它的实部和虚部。
(2)实现3个构造函数:默认的构造函数没有参数;第二个构造函数将双精度浮点数赋给复数的实部,虚部置为0;第三个构造函数将两个双精度浮点数分别赋给复数的实部和虚部。
(3)定义获取和修改复数的实部和虚部,以及+、-、X、/等运算的成员函数。
(4)定义重载的流函数来输出一个复数。
A.重载函数调用运算符只能说明为类的非静态成员函数
B.重载了的函数调用运算符可以带多个形参,也可以带缺省参数
C.重载函数调用运算符的作用与重载函数的作用相同
D.重载函数的一般格式为:类名::operator()
A.初始化参数(Parameter),子模块(Ce11),算子(Primitive)等组件,进行初始化的校验
B.construct,定义执行的过程。图模式时,会被编译成图来执行,没有语法限制
C.还有一些optim常用优化器、wrap常用网络包装函数等预定义Cell
D.bprop(可选),自定义模块的反向
A.析构函数可以重载
B.对象销毁前会自动调用析构函数
C.如果定义一个类时没有定义析构函数,则系统会提供一个默认析构函数~<类名>()}
D.析构函数的函数类型为void
A.在一个类中可以声明本类的对象成员
B.对象成员的声明方法与普通数据成员的声明方法相同
C.在一个类中可以声明本类的指针数据成员
D.如果对象成员的构造函数有参数,则必须在声明该对象成员的同时给其构造函数传递参数值