C 模板定义

合集下载

c++选择题题集

c++选择题题集

C++选择题集1、下列的各类函数中,不就是类的成员函数。

( C )A)构造函数 B)析构函数 C)友元函数 D)拷贝初始化构造函数2、作用域运算符“::”的功能就是:( B )A)标识作用域的级别的 B)指出作用域的范围的C)给定作用域的大小的 D)标识成员就是属于哪个类的3、下列说明中const char *ptr;其中ptr应该就是:( C )A)指向字符常量的指针 B)指向字符的常量指针C)指向字符串常量的指针 D)指向字符串的常量指针4、已知:print()函数就是一个类的常成员函数,它无返回值,下列表示中,就是正确的。

( A )A)void print()const; B)const void print();C)void const print(): D)void print(const);5、在类定义的外部,可以被访问的成员有( C )A)所有类成员 B)private的类成员C)public的类成员 D)public或private的类成员6、要求打开文件"d:\",可写入数据,正确的语句就是:( B )ifstream infile("d:\", ios::in);ifstream infile("d:\\", ios::in);ofstream infile("d:\", ios::out);fstream infile("d:\\", ios::in|ios::out);7、关于类与对象不正确的说法就是:( C )A)类就是一种类型,它封装了数据与操作 B)对象就是类的实例C)一个类的对象只有一个 D)一个对象必属于某个类8、在C++中,类与类之间的继承关系具有( C )A)自反性 B)对称性 C)传递性 D)反对称性9.结构化程序设计所规定的三种基本控制结构就是:( C )A)输入、处理、输出 B)树形、网形、环形C)顺序、选择、循环 D)主程序、子程序、函数10、C++语言就是从早期的C语言逐渐发展演变而来的、与C语言相比,它在求解问题方法上进行的最大改进就是:( B )A)面向过程 B)面向对象 C)安全性 D)复用性11、在C++中实现封装就是借助于( B )A)枚举B) 类C) 数组D)函数12、C++语言就是从早期的C语言逐渐发展演变而来的与C语言相比,它在求解问题方法上进行的最大改进就是:( B )A)面向过程B)面向对象C)安全性D)复用性13、在C++中用( D )能够实现将参数值带回。

c++类模板template中的typename使用方法-超级棒

c++类模板template中的typename使用方法-超级棒

c++类模板template中的typename使⽤⽅法-超级棒转载:https:///vanturman/article/details/80269081近⽇,看到这样⼀⾏代码:typedef typename __type_traits<T>::has_trivial_destructor trivial_destructor;看起来它应该是定义⼀个类型别名,但是typedef不应该是像这样使⽤么,typedef+原类型名+新类型名:typedef char* PCHAR;可为何此处多了⼀个typename?另外__type_traits⼜是什么?看起来有些眼熟,想起之前在Effective C++上曾经看过traits这⼀技术的介绍,和这⾥的__type_traits有点像。

只是⼀直未曾遇到需要traits的时候,所以当时并未仔细研究。

然⽽STL中⼤量的充斥着的traits,⼀查才发现原来它是⼀种⾮常⾼级的技术,在更现的⾼级语⾔中已经很普遍。

因此这次花了些时间去学习它,接下来还有会有另⼀篇⽂章来详细介绍C++的traits技术。

在这⾥,我们暂时忘记它,仅将它当成⼀个普通的类,先来探讨⼀下这个多出来的typename是怎么回事?typename的常见⽤法对于typename这个关键字,如果你熟悉C++的模板,⼀定会知道它有这样⼀种最常见的⽤法(代码摘⾃C++ Primer)// implement strcmp-like generic compare function// returns 0 if the values are equal, 1 if v1 is larger, -1 if v1 is smallertemplate <typename T>int compare(const T &v1, const T &v2){if (v1 < v2) return -1;if (v2 < v1) return1;return0;}也许你会想到上⾯这段代码中的typename换成class也⼀样可以,不错!那么这⾥便有了疑问,这两种⽅式有区别么?查看C++ Primer之后,发现两者完全⼀样。

nc65打印模板自定义项设置

nc65打印模板自定义项设置

nc65打印模板⾃定义项设置
打印模板⾃定义变量设置
问题:打印模板中有些有些字段直接拖⼊打印模板中,⽆法使⽤,(类似⾃定义1的使⽤部门),直接拖⼊,打印的时候会直接先是“⾃定义1”,不显⽰具体的名称,这是需要⾃定义变量设置
以采购发票打印模板添加⾃定义1使⽤部门为例:
⾃定义变量
getcolvalue(bd_defdoc,name,pk_defdoc,invoicebody.vbdef1)
getcolvalue:getColValue(tablename,fieldname,pkfield,pkvalue)根据主键从数据库查询特定字段的值,其功能类似SQL语句:select fieldname from tablename where pkfield = pkvalue 从这条SQL语句可以看出各个参数的含义.
bd_defdoc:⾃定义档案
name :档案的名称
pk_defdoc 档案PK值
invoicebody.vbdef1:对应采购发票表体的⾃定义项⽬1
最后这个字段invoicebody.vbdef1 怎么确定
打开这个单据的单据模板,
点击修改,打开这个单据模板
页标签编码.项⽬编码就是打印模板中该字段的值。

课后答案——C++语言程序设计教程(第二版)

课后答案——C++语言程序设计教程(第二版)

1.1习题1解答1.(1)机器语言是计算机直接理解执行的语言,由一系列(二进制)指令组成,其助记符构成了汇编语言;接近人的自然语言习惯的程序设计语言为高级语言。

(2)结构化程序设计方法主要内容有:自顶向下,逐步求精;面向对象方法将现实世界中的客观事物描述成具有属性和行为的对象,抽象出共同属性和行为,形成类。

(3)C++程序开发通常要经过5个阶段,包括:编辑,编译,连接,运行,调试。

首先是编辑阶段,任务是编辑源程序,C++源程序文件通常带有.c p p扩展名。

接着,使用编译器对源程序进行编译,将源程序翻译为机器语言代码(目标代码),过程分为词法分析、语法分析、代码生成3个步骤。

在此之前,预编译器会自动执行源程序中的预处理指令,完成将其他源程序文件包括到要编译的文件中,以及执行各种文字替换等。

连接器的功能就是将目标代码同缺失函数的代码连接起来,将这个“漏洞”补上,生成可执行文件。

程序运行时,可执行文件由操作系统装入内存,然后CPU从内存中取出程序执行。

若程序运行进程中出现了错误,还在需要对程序进行调试。

(4)对象与对象之间通过消息进行相互通信。

(5)类是具有相同属性和行为的一组对象的抽象;任何一个对象都是某个类的一个实例。

(6)多态性是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。

(7)面向对象的软件开发过程主要包括面向对象的方法分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的维护。

(8)泛型程序设计是指在程序设计时,将数据类型参数化,编写具有通用性和可重用的程序。

(9)#include<iostream>是一条预处理指令(语句),在编译(或预处理)时由编译器(或预编译器)执行,其功能是将iostream文件包含(复制)到指令处。

(10)C++中使用cin作为标准输入流对象,通常代表键盘,与提取操作符>>连用;使用cout作为标准输出流对象,通常代表显示设备,与<<连用。

c语言if语句格式模板

c语言if语句格式模板

C 语言中的if 语句用于执行条件性的代码块,根据条件表达式的结果来确定是否执行特定的代码。

以下是C 语言中if 语句的基本格式模板:if (condition) {// 如果条件为真,执行这里的代码块} else {// 如果条件为假,执行这里的代码块(可选)}模板中的关键元素包括:if:关键字,标志着条件的开始。

condition:条件表达式,它会被求值为真或假。

如果条件为真,if 语句中的代码块将执行。

{}:花括号用于定义代码块的起始和结束。

else:可选的关键字,如果if 语句中的条件为假,则执行else 后的代码块。

// 注释:这里可以添加注释,用于解释代码的目的或逻辑。

请注意以下几点:else 部分是可选的,您可以根据需要选择是否在条件为假时执行某些代码。

如果条件表达式的结果为真,那么if 语句中的代码块将被执行。

如果条件表达式的结果为假且存在else 部分,那么else 中的代码块将被执行。

如果需要在条件为假时执行多个语句,可以将它们放在花括号{} 中,以构成一个代码块。

在条件表达式中,通常使用比较运算符(如==、!=、<、>、<=、>=)来进行比较,并使用逻辑运算符(如&&、||、!)来组合多个条件。

以下是一个示例,演示了if 语句的使用:#include <stdio.h>int main() {int number = 10;if (number > 0) {printf("Number is positive.\n");} else {printf("Number is non-positive.\n");}return 0;}上述示例中,根据number 的值,if 语句决定输出"Number is positive." 或"Number is non-positive."。

国家二级C++机试(运算符重载、模板和C++流)模拟试卷6

国家二级C++机试(运算符重载、模板和C++流)模拟试卷6

国家二级C++机试(运算符重载、模板和C++流)模拟试卷6(总分:58.00,做题时间:90分钟)一、选择题(总题数:29,分数:58.00)1.若在表达式y/x中,''/''是作为成员函数重载的运算符,则该表达式还可以表示为( )。

(分数:2.00)A.x.operator/(y)B.operator/(x,y)C.y.operator/(x) √D.operator/(y,x)解析:解析:运算符函数的函数名是由运算符前加关键字operator构成的。

所以当“/”作为运算符重载后,其格式为operator/。

所以其作为成员函数调用时的格式为y.operator/(x)。

2.有类定义如下: class Type{ public: Type(int i=0); Type operator-(int); friend Type operator+(Type,Type); private: int val; };若有对象定义Type c1;则下列语句序列中,错误的是( )。

(分数:2.00)A.Type(3)+c1;B.e1+Type(3);C.3-c1:√D.c1-3;解析:解析:由于在类Type中对“-”进行了重载,所以根据“-”重载的形式定义,c1-3是正确的,而3-c1是错误的表达式。

3.若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。

(分数:2.00)A.Data+(Data);B.Data operator+{Data};√C.Data+operator{Data};D.operator+(Data,Data);解析:解析:“+”是一个二元运算符,因此作为成员函数重载时参数表中只有一个参数,对应于第二个操作数,而第一个操作数是对象本身。

运算符函数的函数名是由运算符前加关键字operator构成的。

4.若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是( )。

C++题目11-12

C++题目11-12

HZAU-专业C++作业11-12判断题1. 友元关系是单向的,不可交换的。

(2分)2. 只有成员函数才能传递this指针,而友元函数不能传递this指针(2分)3. 友元函数是成员函数,它可以访问类中私有成员。

(2分)4. 在成员函数中访问对象的数据成员时,可以直接用数据成员名,而在友员函数中访问对象的数据成员时,必须指明是哪个对象的数据成员。

(2分)5. 友元是可以继承的。

(2分)6. 常成员函数只能用来引用数据成员的值,而不允许改变数据成员的值。

(2分)7. C++语言允许使用友元,但是友元会破环封装性。

(2分)8. 必须在类定义体外对静态数据成员进行初始化。

(2分)9. 能访问一个类CMyClass中的private成员的可以是类CMyClass 的成员函数,友元函数和友元类中的函数。

(2分)10. 类的友元函数是指可以访问本类私有成员的其他类的成员函数。

(2分)11. 类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并没有撤销。

(2分)12. 如果在一个类的对象之间要进行数据交换,可以使用该类的静态数据成员来完成。

(2分)13. 如果一个类的所有对象都共享某一个变量,则应当将该变量定义为该类的私有成员。

(2分)1.如果类A被说明成类B的友元,则()。

(2分)A. 类A的成员即类B的成员B. 类B的成员即类A的成员C. 类A的成员函数不得访问类B的成员D. 类B不一定是类A的友元2.友元的作用()。

(2分)A. 提高程序的运用效率B. 加强类的封装性C. 实现数据的隐藏性D. 增加成员函数的种类3.下述静态数据成员的特征中,()是错误的。

(2分)A. 静态数据成员要在类体外进行初始化B. 引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符C. 静态数据成员不是所有对象所共用的D. 说明静态数据成员时前边要加修饰符static已知类A是类B的友元,类B是类C的友元,则()。

C++期末复习题资料

C++期末复习题资料

C++期末复习题资料1.下列的各类函数中,不是类的成员函数。

( C )A)构造函数 B)析构函数 C)友元函数 D)拷贝初始化构造函数2.作用域运算符“::”的功能是:( B )A)标识作用域的级别的 B)指出作用域的范围的C)给定作用域的大小的 D)标识成员是属于哪个类的3.下列说明中const char *ptr;其中ptr应该是:( C )A)指向字符常量的指针 B)指向字符的常量指针C)指向字符串常量的指针 D)指向字符串的常量指针4.已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,是正确的。

( A )A)void print()const;B)const void print();C)void const print(): D)void print(const);5.在类定义的外部,可以被访问的成员有( C )A)所有类成员B)private的类成员C)public的类成员D)public或private的类成员6.关于类和对象不正确的说法是:( C )A)类是一种类型,它封装了数据和操作 B)对象是类的实例C)一个类的对象只有一个D)一个对象必属于某个类7.在C++中,类与类之间的继承关系具有( C )A)自反性 B)对称性 C)传递性 D)反对称性8.C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是:( B )A)面向过程 B)面向对象 C)安全性 D)复用性9.在C++中实现封装是借助于( B )A)枚举B) 类C) 数组D)函数10.在C++中用( D )能够实现将参数值带回。

a)数组b)指针c)引用d)上述ABC都可11.考虑函数原型void test(int a,int b=7,char ch="*"),下面的函数调用中,属于不合法调用的是:( C )A)test(5) B)test(5,8)C)test(6,"#") D)test(0,0,"*");12.已知: int m=10;下列表示引用的方法中,正确的是:( C )A)int &Z;B)int &t=10;C)int &X=m;D)float &f=&m;13.定义析构函数时,应该注意:( C )A)其名与类名完全相同 B)返回类型是void类型C)无形参,也不可重载D)函数体中必须有delete语句14.在公有继承的情况下,基类的成员(私有的除外)在派生类中的访问权限( B )A)受限制B)保持不变C)受保护D)不受保护15.下列不是函数重载所要求的条件是:( D )A)函数名相同 B)参数个数不同C)参数类型不同D)函数返回值类型不同16.在C++中执行以下4条语句后输出rad值为:( C )static int hot=200;int &rad=hot;hot=hot+100;cout<<rad<<endl;< p="">A) 0 B) 100 C) 300D) 20017.类clase CC1的说明如下,错误的语句是:( A )clase CC1{int a=2; //(A)CC1(); //(B)public:CC1(int val); //(C)~CC1(); //(D)};18.下列各类函数中,不是类的成员函数是:( C )A)构造函数 B)析构函数C)友元函数D)拷贝构造函数19.类的指针成员的初始化是通过函数完成的,这个函数通常是:( B ) A)析构函数B) 构造函数C)其它成员函数D)友元函数20.关于构造函数的说法,不正确的是:( A )A)没有定义构造函数时,系统将不会调用它 B)其名与类名完全相同C)它在对象被创建时由系统自动调用D)没有返回值21.按解释中的要求在下列程序划线处填入的正确语句是:( C )#includeclass Base{public:voidfun(){cout<<"Base::fun"<<endl< p=""> ;}};class Derived:public Base{public:void fun(){ //在此空格处调用基类的函数fun()cout<<"Derived::fun"<<endl< p=""> ;}};A)fun();B)Base.fun();C)Base::fun();D)Base->fun();22.在保护继承的情况下,基类的成员(私有的除外)在派生类中的访问权限( C )A)受限制B)保持不变C)受保护D)不受保护23.通常拷贝构造函数的参数是:( C )A)对象名B)对象的成员名C)对象的引用名D)对象的指针名24.下列描述中,正确的是:( D )A)所有的运算符号都可以重载。

C++选择题和判断题

C++选择题和判断题

一、选择题(40)1.C++对C语言作了很多改进,下列描述中(D)使得C语言发生了质变,从面向过程变成了面向对象。

A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型;D、引进了类和对象的概念;2.下列描述中,(C)是错误的。

A、内联函数主要解决程序的运行效率问题;B、内联函数的定义必须出现在内联函数第一次被调用之前;C、内联函数中可以包括各种语句;D、对内联函数不可以进行异常接口声明;3.在C++中,关于下列设置缺省参数值的描述中,(B)是正确的。

A、不允许设置缺省参数值;B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;C、只能在函数的定义性声明中指定参数的缺省值;D、设置缺省参数值时,必须全部都设置;4.(D)不是构造函数的特征。

A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明。

5.(D)是析构函数的特征。

A、析构函数可以有一个或多个参数;B、析构函数名与类名不同;C、析构函数的定义只能在类体内;D、一个类中只能定义一个析构函数;6.关于成员函数特征的下列描述中,(A)是错误的。

A、成员函数一定是内联函数;B、成员函数可以重载;C、成员函数可以设置缺省参数值;D、成员函数可以是静态的;7.下列静态数据成员的特性中,(C)是错误的。

A、说明静态数据成员时前边要加修饰符static;B、静态数据成员要在类体外进行初始化;C、静态数据成员不是所有对象所共用的;D、引用静态数据成员时,要在其名称前加<类名>和作用域运算符;8.友元的作用是(A)。

A、提高程序的运用效率;B、加强类的封装性;C、实现数据的隐藏性;D、增加成员函数的种类;9.关于new运算符的下列描述中,(D)是错误的。

A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符delete删除;C、使用它创建对象时要调用构造函数;D、使用它创建对象数组时必须指定初始值;10.关于delete运算符的下列描述中,(C)是错误的。

C++填空选择题

C++填空选择题

C++程序设计模拟试卷(一)一、单项选择题1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B解析:(P21)经过编辑、编译、连接和运行四个步骤。

编辑是将C++源程序输入计算机的过程,保存文件名为cpp。

编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。

连接是将目标文件obj转换为可执行程序的过程,结果为exe。

运行是执行exe,在屏幕上显示结果的过程。

2. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D解析:(P51)函数的返回值类型由定义函数时的指定的数据类型决定的。

A项的表达式的值要转换成函数的定义时的返回类型。

3. 下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的答案:D解析:(P136)继承方式有三种:公有、私有和保护。

多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。

赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。

基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。

4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B. 对象C. 函数体D. 数据块答案:A解析:(P39)类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。

5. 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()A. 私有成员B. 公有成员C. 保护成员D. 保护成员或私有成员答案:A解析:(P133)在派生类中基类的保护或者基类公有都可以直接访问,基类的私有成员只能是基类的成员函数来访问。

C++语言程序设计复习题

C++语言程序设计复习题

C++语言程序设计复习题《c++程序设计》复习题一、多项选择题1.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()a、 B类,对象C,函数体D,数据块2。

面向对象编程语言的关键元素是()a、抽象和封装b、抽象和多态性c、抽象,封装,继承和多态性D,抽象,封装和继承3。

在定义类的()a、成员函数B、数据成员C、对象D和友元函数时,会自动调用并执行类的构造函数4.设有函数模板templateqsum(qx,qy){return(x)+(y);}以下语句中函数模板的错误使用是()a、sum(10,2);b、sum(5.0,6.7);c、总和(15.2f,16.0f);d、总和(ab、cd);5.假设A类是B类的朋友,B类是C类的朋友,那么()A类必须是C类的朋友,B类必须是A类的朋友c、类c的成员函数可以访问类b的对象的任何成员d、类a的成员函数可以访问类b的对象的任何成员6.静态成员函数没有()a、返回值b、this指针c、指针参数d、返回类型7.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中(a、都是虚函数b、只有当它被重新解释时,它才是一个虚拟函数c、只有被重新说明为virtual时才是虚函数d、都不是虚函数8.以下描述不正确:(a)派生类通常使用公共派生b、对基类成员的访问必须是无二义性的c、赋值兼容规则也适用于多重继承的组合d、基类的公有成员在派生类中仍然是公有的9.在c++中实现封装是借助于())a、枚举C,数组B,类D,函数10.所有在函数中定义的变量,都是()a、全局变量b、局部变量c、静态变量d、寄存器变量11.下列特性中,c与c++共有的是()a、继承B、封装C、多态性D和函数定义不能嵌套12。

一般来说,函数模板中类型参数的个数不能是()a、0b、2C、4D和313.在下列成对的表达式中,运算符“+”的意义不相同的一对是()a、5.0+2.0和5.0+2c、5.0+2.0和5+2b、 5.0+2.0和5+2.0D、5+2.0和5.0+214.类的指针成员的初始化是通过函数完成的,这个函数通常是()a、析构函数b、构造函数c、其它成员函数d、友元函数15.禁止修改指针P本身和P指向的数据。

常用C模板范文

常用C模板范文

常用C模板范文C语言是一种非常常用的编程语言,被广泛应用于各种领域,包括嵌入式系统、操作系统、游戏开发等。

为了提高开发效率,程序员常常使用一些常用的C模板来完成重复性的编码工作。

下面是一些常用的C模板供参考:1.输入输出模板:```c#include <stdio.h>int mai//提示用户输入printf("请输入您的名字: ");//声明一个字符串变量用于存储用户的输入char name[20];//从标准输入读取用户输入的字符串scanf("%s", name);//输出用户的名字printf("您好,%s!\n", name);return 0;```2.循环模板:```c#include <stdio.h>int mai//初始化计数器int i = 0;//执行循环while (i < 10)//打印计数器的值printf("%d ", i);//更新计数器i++;}//输出换行符printf("\n");return 0;```3.条件语句模板:```c#include <stdio.h>int mai//初始化变量int number = 10;//判断变量的值是否小于等于5if (number <= 5)printf("number 小于等于 5\n");}//判断变量的值是否大于5且小于等于10else if (number > 5 && number <= 10)printf("number 大于 5 且小于等于 10\n");}//默认情况elseprintf("number 大于 10\n");}return 0;```4.函数模板:```c#include <stdio.h>//定义一个函数来计算两个整数的和int sum(int a, int b)return a + b;int mai//调用函数并输出结果printf("1 + 2 = %d\n", sum(1, 2));return 0;```5.结构体模板:```c#include <stdio.h>//定义一个学生结构体struct Studentchar name[20];int age;float score;};int mai//创建一个学生对象struct Student student1;//给学生对象赋值strcpy(, "Tom");student1.age = 18;student1.score = 95.5;//输出学生的信息printf("姓名:%s\n", );printf("年龄:%d\n", student1.age);printf("分数:%f\n", student1.score);return 0;```以上是一些常用的C模板,可以根据具体的需求进行修改和扩展。

c++试题及答案

c++试题及答案

c++试题及答案一、选择题(每题2分,共20分)1. C++中,哪个关键字用于定义类?A. structB. classC. unionD. enum答案:B2. 下列哪个选项不是C++中的构造函数?A. 默认构造函数B. 拷贝构造函数C. 析构函数D. 赋值构造函数答案:C3. 在C++中,下列哪个选项是正确的文件操作?A. 使用fopen()函数打开文件B. 使用fclose()函数关闭文件C. 使用fread()函数读取文件D. 所有选项都是正确的答案:D4. C++中,下列哪个选项是正确的继承方式?A. 公有继承B. 保护继承C. 私有继承D. 所有选项都是正确的答案:D5. 在C++中,下列哪个关键字用于定义常量?A. constB. staticC. externD. volatile答案:A6. C++中,下列哪个选项是正确的多态性实现方式?A. 函数重载B. 运算符重载C. 虚函数D. 所有选项都是正确的答案:C7. 下列哪个选项是C++标准库中的容器类?A. vectorB. mapC. setD. 所有选项都是正确的答案:D8. C++中,下列哪个选项是正确的模板定义?A. template <typename T>B. template <class T>C. 两者都是正确的D. 两者都是错误的答案:C9. 在C++中,下列哪个选项是正确的异常处理语句?A. try { ... }B. catch { ... }C. throw { ... }D. 所有选项都是正确的答案:A10. C++中,下列哪个选项是正确的智能指针类型?A. shared_ptrB. unique_ptrC. weak_ptrD. 所有选项都是正确的答案:D二、填空题(每题3分,共15分)1. 在C++中,使用______关键字可以定义一个内联函数。

答案:inline2. C++中,使用______关键字可以定义一个静态成员变量。

C++题库

C++题库

一、选择题1)以下关键字不能用来声明类的访问权限的是______。

A)public B)static C)protected D)private2)在公有继承的情况下,允许派生类直接访问的基类成员包括______。

A)公有成员 B)公有成员和保护成员C)公有成员保护成员和私有成员 D)保护成员3)关于运算符重载,下列表述中正确的是______。

A)C++已有的任何运算符都可以重载B)运算符函数的返回类型不能声明为基本数据类型C)在类型转换符函数的定义中不需要声明返回类型D)可以通过运算符重载来创建C++中原来没有的运算符4)关于关键字class和typename,下列表述中正确的是______。

A)程序中的typename都可以替换为classB)程序中的class都可以替换为typenameC)在模板形参表中只能用typename来声明参数的类型D)在模板形参表中只能用class或typename来声明参数的类型5)有如下程序#include<iostream>#include<iomanip>using namespace std;class MyClass{public:MyClass(){cout<<’A”;}MyClass(char c ){cout<<c;}~MyClass(){out<<’B”;}};void main(){MyClass p1,*p2p2=new MyClass(‘X’);delete p2;}执行这个程序幕上将显示输出______。

A)ABX B)ABXB C)AXB D)AXBB6)有如下程序#include<iostream>using namespace std;class Base{protected:Base(){cout<<’A’;}Base(char c){cout<<c;}};class Derived:public Base{public:Derived(char c ){cout <<c;}};int main(){Derived d1(‘B’);return 0;}执行这个程序屏幕上将显示输出______。

C语言程序注释模板

C语言程序注释模板

C语言程序注释模板篇一:C语言编写规范之注释1、头文件包含Includes2、私有类型定义 Private typedef3、私有定义Private define4、私有宏定义 Private macro5、私有变量 Private variables6、私有函数原型Private function prototypes7、私有函数Private functions8、私有函数前注释/***************************************************** *************************** Function Name : FSMC_NOR_Init* Description : Configures the FSMC and GPIOs to interface with the NOR memory. *This function must be called before anywrite/read operation*on the NOR.* Input : None* Output: None* Return: None****************************************************** *************************/9、程序块采用缩进风格编写,缩进空格为4。

10、相对独立的程序块之间、变量说明之后必须加空行;11、较长的字符(>80字符)要分成多行书写,长表达式要在低优先级操作符划分新行,操作符放在新行之首,新行要恰当缩进,保持排版整齐;12、循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首;13、若函数或过程中的参数较长,则要进行适当的划分。

14、不允许把多个短语句写在一行中,即一行只写一条语句。

常用C模板范文

常用C模板范文

常用C模板范文C语言是一种强大而受欢迎的编程语言,被广泛应用于系统编程和嵌入式开发领域。

在C语言的学习和实践过程中,有一些常用的模板是非常有用的,可以帮助程序员提高编码效率和代码质量。

以下是一些常用的C 语言模板,供参考。

1.头文件模板:```#ifndef HEADER_H#define HEADER_H/*需要包含的头文件*//*宏定义*//*函数声明*//*结构体声明*//*枚举声明*/#endif```这个模板用于创建一个头文件,主要用于声明函数、定义宏、声明结构体和枚举等。

通过使用宏保护,可以确保头文件只会被包含一次。

2.源文件模板:```#include "header.h"/*定义全局变量*//*函数实现*//*结构体定义*//*枚举定义*/```这个模板用于创建一个源文件,主要用于实现头文件中声明的函数、定义全局变量、定义结构体和枚举等。

将头文件包含在开头,可以确保源文件可以使用头文件中声明的函数和结构体。

3.函数模板:```返回类型函数名(参数列表)/*函数体*/return 返回值;```这个模板用于定义一个函数,包括返回类型、函数名、参数列表和函数体。

根据实际需要修改返回类型、函数名、参数列表和函数体,可以使用这个模板来定义各种不同的函数。

4.结构体模板:```typedef struct/*结构体成员*/}结构体类型;```这个模板用于定义一个结构体,可以在其中定义各种不同的成员。

通过typedef关键字,可以为结构体类型定义一个别名。

5.枚举模板:```typedef enum/*枚举成员*/}枚举类型;```这个模板用于定义一个枚举类型,可以在其中定义各种不同的成员。

通过typedef关键字,可以为枚举类型定义一个别名。

6. main函数模板:```int main(void)/*变量定义和初始化*//*程序逻辑*/return 0;```这个模板用于定义一个主函数,是C程序的入口点。

2018C++复习题

2018C++复习题

一选择题1.下列关于C++语言说法错误的是(a )。

A.引入了封装的概念 B.允许函数重载C.规定函数必须先定义后调用 D.引进了类和对象的概念2.下列描述中,属于面向对象思想主要特征的是( )。

A.结构化 B.跨平台性 C.多文件 D.多态性3. 下列关于重载函数的区分,说法错误的是( c)。

A.重载函数可以通过函数名称来区分 B.重载函数可以通过形参类型来区分C.重载函数可以通过形参名称来区分 D.重载函数可以通过形参个数来区分4.有如下函数定义:void sum(int &x, int y){x++;y++;}若执行代码段:int a=1 ,b=2; sum(a, b);则变量a和b值分别是( c)。

A.1和3 B.1和2 C.2和2 D.2和35. 要定义一个引用变量p,使用类A的一个对象来初始化该引用,则正确的定义语句是(d )。

A.A *p=A; B.A &p=new A; C.A &p=A; D.A a,&p=a;6. 下列哪种情况下编译器会主动调用类的构造函数( d)。

A.定义类的时候 B.删除对象的时候 C.创建对象的时候 D.调用对象的时候7.若A是一个类名,且有如下语句序列A a1; A *a2=new A; A &a3=a1;上面的语句序列所定义的类对象的个数是(c )。

A. 3B. 2C. 1D. 08. 若A为一个类,f()为该类的公有静态函数成员,在主函数中定义A 类的对象a,则在主函数中调用f()函数的正确表示是( )。

A. a.f()B. A.f()C. f()D. A::f()9.下列程序段中包含4个函数,其中具有隐含this指针的是( )。

void f1(int a, int b);class A{ public:double f2(double a);friend void f3();static int f4(); };A. f3B. f4C. f1D. f210.有如下类定义和变量定义:class A{ public:int a1() { return a2; }private: int a2;};class B: private A{/*类体略*/};A a;B b;下列语句中正确的是( )。

新《C++程序设计》自考必备题库(含答案)

新《C++程序设计》自考必备题库(含答案)

新《C++程序设计》自考必备题库(含答案)一、单选题1、类A将每其它类对象作为成员,则建立A类对象时,下列描述正确的是()A、A类构造函数先执行B、成员构造函数先执行C、两者并行执行D、不能确定正确答案:B2、列描述错误的是()A、在创建对象前,静态成员不存在B、静态成员是类的成员C、静态成员不能是虚函数D、静态成员函数不能直接访问非静态成员正确答案:A3、关多态性说法不正确的是()A、C++语言的多态性分为编译时的多态性和运行时的多态性B、编译时的多态性可通过函数重载实现C、运行时的多态性可通过模板和虚函数实现D、实现运行时多态性的机制称为动态多态性正确答案:C4、编译指令中,宏定义使用哪个指令()A、ttincludeB、#defineC、#ifD、#else正确答案:B5、于对象概念的描述中,说法错误的是()A、对象就是C语言中的结构体B、对象代表着正在创建的系统中的一个实体C、对象是类的一个变量D、对象之间的信息传递是通过消息进行的正确答案:A6、没有使用private关键字定义类的数据成员,则默认为()A、privateB、publicC、protectedD、friend正确答案:A7、符型数据在内存中的二进制编码方式是()A、补码B、原码C、ASCII码D、反码正确答案:C8、++语言是从早期的C语言逐渐发展演变而来的与C语言相比,它在求解问题方法上进行的最大改进是:()A、面向过程B、面向对象C、安全性D、复用性正确答案:B9、符串“ABC”在内存占用的字节数是()A、3B、4C、6D、8正确答案:B10、创建派生类对象时,构造函数的执行顺序是()A、对象成员构造函数、基类构造函数、派生类本身的构造函数B、派生类本身的构造函数、基类构造函数、对象成员构造函数C、基类构造函数、派生类本身的构造函数、对象成员构造函数D、基类构造函数、对象成员构造函数、派生类本身的构造函数正确答案:D11、中定义的成员默认访问属性为()A、publicB、privateC、protectedD、friend正确答案:B12、求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()A、内联函数B、重载函数C、内部函数D、函数模板正确答案:A13、面正确的字符常量是()A、“c”B、'\\''C、,W<D、''正确答案:C14、有说明语句:chare二‘\72‘;则变量c()A、包含1个字符B、包含2个字符C、包含3个字符D、说明不合法,c值不确定正确答案:A15、inta二5,使b不为2的表达式是()A、b=6一(---a)B、b=a%2C、b=a/2D、b=a>3? 2:1正确答案:B16、C++语言中用于注释的标识符是()A、&B、//C、*D、/正确答案:B17、数型数据在内存中的二进制编码方式是()A、补码B、原码C、ASCII码D、反码正确答案:A18、his指针存在的目的是()A、保证基类公有成员在子类中可以被访问B、保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C、保证基类保护成员在子类中可以被访问D、保证基类私有成员在子类中可以被访问正确答案:B19、哪种派生方式中,派生类可以访问基类中的protected成员()A、public和privateB、public和protectedC、protected和privateD、仅protected正确答案:B20、行x二(6*7%8+9)/5;后,x的值为()A、1B、2C、3D、4正确答案:B21、类中声明的变量,下列描述中正确的是()A、属于全局变量B、只属于该类C、属于该类,某些情况下也可被该类不同实例所共享D、任何情况下都可被该类所有实例共享正确答案:C22、列说明中constchar^ptr;其中ptr应该是:()A、指向字符常量的指针B、指向字符的常量指针C、指向字符串常量的指针D、指向字符串的常量指针正确答案:C23、变量a是整型,f是实型,i是双精度型,则表达式10+'a,+i*f 值的数据类型是()A、intB、folatC、doubleD、不确定正确答案:C24、于类和对象不正确的说法是()A、类是一种类型,它封装了数据和操作B、对象是类的实例C、一个类的对象只有一个D、一个对象必属于某个类正确答案:C*q[5];等价的定义语句是()25、下与intA、intq[5];B、int*qC、int(q[5])D、int(*q)[5]正确答案:D26、izeof(float)是()A、一个双精度型表达式B、一个整型表达式C、一种函数调用D、一个不合法的表达式正确答案:B27、ntFunc(int,int);不可与下列哪个函数构成重载()A、intFHnc(int,int,int);B、doubleFunc(int,int);C、doubleFunc(double,double);D、doubleFunc(int,double);正确答案:B28、列哪个类型函数不适合声明为内联函数()A、函数体语句较多B、函数体语句较少C、函数执行时间较短D、函数执行时间过长正确答案:A29、列有关重载函数的说法中正确的是()A、重载函数必须具有不同的返回值类型B、重载函数参数个数必须相同C、重载函数必须有不同的形参列表D、重载函数名可以不同正确答案:C30、行语句x=(a二3,b=a---)后,x,a,b的值依次为()B=3A=2X=3A、3,2,3B、2,3,2C、3,3,2D、3,2,2正确答案:A31、有代数式3ae/bc,则不正确的c语言表达式是()A、a/b/c*e3B、3*a e/b/c*cC、3a e/bD、a e/c/c*3正确答案:C32、用值传递方式将实参传给形参,下列说法正确的是0A、形参是实参的备份B、实参是形参的备份C、形参和实参是同一对象D、形参和实参无联系正确答案:A33、果没有为一个类定义任何构造函数的情况下,下列描述正确的是0A、编译器总是自动创建一个不带参数的构造函数B、这个类没有构造函数C、这个类不需要构造函数D、该类不能通过编译正确答案:A34、有定义inta[10],*p=a;,则p+5表示()A、元素a[5]的地址B、元素a[5]的值C、元素a[6]的地址D、元素a[6]的值正确答案:A35、a=-3;执行(a〉0)?a:-a;后,a的值为()A、3B、1C、0D、一3正确答案:D36、使用关键字new所开辟的动态存储空间,释放时必须使用()A、fIreeB、createC、deleteD、cfile正确答案:C37、存在函数intmax(int,int)返回两参数中较大值,若求22,59, 70三者中最大值,下列表达式不正确的是()A、intm=max(22,max(59,70));B、intm=max(max(22,59),70);C、intm=max(22,59,70);D、intm=max(59,max(22,70));正确答案:C38、于类模板的说法正确的是()A、类模板的主要作用是生成抽象类B、类模板实例化时,编译器将根据给出的模板实参生成一个类C、在类模板中的数据成员具有同样类型D、类模板中的成员函数没有返回值正确答案:B39、于友元描述正确的是()A、友元是本类的成员函数B、友元不是本类的成员函数C、友元不是函数D、友元不能访问本类私有成员正确答案:B40、PC机中,"在内存占用的字节数是()A、1B、2C、3D、4正确答案:A41、有语句inta二3;,则执行了语句a+二a-二a*后,变量a的值是()A、3B、0C、9D、-12正确答案:D42、列正确的标识符是()A、hot_doB、a+bC、test!D、%y正确答案:A43、的私有成员可在何处访问0A、通过子类的对象访问B、本类及子类的成员函数中C、通过该类对象访问D、本类的成员函数中正确答案:D44、C语言中,合法的长整型常数是()A、0LB、4962710C、0.054838743D、 2.1869el0正确答案:A45、C++语言和C语言的兼容性,描述正确的是()A、C++兼容CB、C++部分兼容CC、C++不兼容D、C兼容C++正确答案:A46、写C++程序一般需经过的几个步骤依次是()A、编辑、调试、编译、连接B、编译、调试、编辑、连接C、编译、编辑、连接、运行D、编辑、编译、连接、运行正确答案:D47、贝构造函数的参数是()A、某个对象名B、某个对象的成员名C、某个对象的引用名D、某个对象的指针名正确答案:C48、C++中使用流进行输入输出,其中用于屏幕输出的对象是()A、cerrB、cinC、coutD、cfile正确答案:C49、所有变量均为整型,则表达式(a二2,b二5,b++,a+b)的值为()A、7B、8C、9D、2正确答案:A50、C语言中,要求运算数必须是整型的运算符是()A、/B、++D、%正确答案:D51、列关于类的权限的描述错误的是0A、类本身的成员函数只能访问自身的私有成员B、类的对象只能访问该类的公有成员C、普通函数不能直接访问类的公有成员,必须通过对象访问D、一个类可以将另一个类的对象作为成员正确答案:A52、x二8,执行语句y二x++,则y等于()A、6B、7C、8D、9正确答案:C53、intk二32767;执行k=k+l;后k值为()A、32768B、—32768C、0D、-1正确答案:A54、个类可包含析构函数的个数是()B、1个C、至少一个D、0个或多个正确答案:B55、于虚函数的描述中,()是正确的。

C++(面向对象的程序设计)考前必背的名词解释和简答题

C++(面向对象的程序设计)考前必背的名词解释和简答题

C++(面向对象的程序设计)考前必背的名词解释和简答题1. 封装封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。

例如C++中的类,它定义了该集合中每个对象所共有的属性和方法。

2. 继承继承是让某个类型的对象获得另一个类型的对象的特征。

例如:C++中子类对父类的继承,子类具有父类的特性,同时还可以拥有自己的新特性。

3. 多态多态是指不同类型的对象接收相同的消息时产生不同的行为。

多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减小代码的复杂度。

例如函数的重载。

4. 什么是this 指针?为什么要用this 指针?this 指针是类中的一个特殊指针,当类实例化时,this 指针指向对象自己;而在类的声明时,指向类本身。

通过它不仅可以提升成员函数操作的效率,而且能简化运算符重载代码。

5. 叙述公有、私有、保护成员在类中、类外和对象中的访问权限。

类中的关键字public, private, protected 声明了类中的成员与类外之间的关系,称为访问权限。

对于public 成员来说,他们是公有的,可以在类外和对象中访问。

对于private 成员来说,他们是私有的,不能在类外和对象中访问,数据成员只能由类中的函数使用,成员函数只允许在类中调用。

对于protected 成员来说,他们是受保护的,具有半公开性质,可以在类中与子类中访问。

6. 构造函数和析构函数的作用是什么?构造函数的功能是在创建对象时,给数据成员赋初值,即给对象初始化。

析构函数的功能是释放一个对象,在对象删除前,用来做一些内存释放等清理工作。

7. 什么是类的继承和派生?继承是指一个事物可以继承其父辈全部或部分的特性,同时本身还有自己的特性。

当一个新类从一个已定义的类中派生后,新类不仅继承了原有类的属性和方法,并且还拥有自己新的属性和方法,称为类的继承和派生。

8. 派生类public 继承方式有那些特点?(1)在派生类中,基类的公有成员、保护成员和私有成员的访问属性保持不变。

C++程序设计自考题-5_真题-无答案

C++程序设计自考题-5_真题-无答案

C++程序设计自考题-5(总分100,考试时间90分钟)一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的。

)1. C++源文件的扩展名为( )A..cpp B..cC..txt D..exe2. 下列标识符中正确的是( )A.abc B.3abC.int D.+ab3. 下列表达式中不可能作为左值(赋值运算符左侧)的是( )A.a=b B.*pC.f(a,b) D.&a4. 在C++中使用流进行输入输出,其中用于键盘输入的对象是( )A.cerr B.cinC.cout D.cfile5. 释放关键字new所开辟的动态存储空间必须使用( )A.create B.freeC.release D.clelete6. 下列关于类和对象的说法不正确的是( )A.对象是类的一个实例 B.一个类只能有一个对象C.一个类只能有一个名字 D.类和对象的关系与数据类型和变量的关系相似7. C++的合法注释是( )A./*This is a C program/* B.//This is a C programC.“This is a C program” D.//This is a C program//8. C++程序的执行总是从( )开始的。

A.main函数 B.第一行C.头文件 D.函数注释9. 已定义了一个类A并有语句A*pa=new A(5);,那么下列说法正确的是( )A.该语句会创建A类的一个对象,并将此对象的地址赋给指针paB.该语句会创建A类的5个对象,且它们的地址是连续的C.当指针变量pa超出其作用域时,pa和为对象分配的空间都将被自动释放D.类A中一定有一个显式定义的构造函数和一个显式定义的虚析构函数10. 设存在函数int sum(int,int)返回两个参数的和,若求20、45、100三个数的和,下列表达式不正确的是( )A.int m=sum(20,45,100); B.int m=sum(sum(20,45),100);C.int m=sum(20,sum(45,100)); D.int m=sum(45,sum(20,100));11. 使用输入输出操控符setw,可以控制( )A.输出精度 B.输出宽度C.对齐方式 D.填充字符12. 下列数组的定义中,错误的是( )A.char ca1[]='c','m','n'; B.char ca2[6]="name";C.char ca3[4]="your";D.int array[]=1,2,3,4;13. 在C++中,数据封装要解决的问题是( )A.实现规范化 B.防止书写错误C.防止非法访问 D.实现类型转换14. 下列有关设置函数参数值的描述中,正确的是( )A.设置了默认值的参数右边允许出现没有指定默认值的参数B.参数默认值的设置顺序从参数表的左端开始C.参数默认值要设置在定义语句中,不能设置在声明语句中D.参数默认值可以是数值也可以是表达式15. 下列模板定义中不正确的是( )A.template<class Q>Q F(Qx)return Q+x; B.template<class Q>Q F(Qx)return x+x;C.template<class T>T F(Tx)return x*x; D.template<class T>T F(Tx)return x;16. 下面属于重载函数的有( )a.void f(int x)(…) b.int f(int y)(…)c.int f(int i,int j)(…) d.float k(int x)(…)A.4个全部 B.a和dC.b和c D.c和d17. 内联函数的特点是( )A.减少代码量,加快访问速度 B.减少代码量,减缓访问速度C.增加代码量,减缓访问速度 D.增加代码量,加快访问速度18. 设int&max(int&,int&)返回两参数中较大者,如有两整型变量int a=5;int b=10;在执行max(a,b)++后,a,b的值分别为( )A.5,10 B.6,10C.5,11 D.6,1119. 多态性是指( )A.不同的对象调用不同名称的函数 B.不同的对象调用相同名称的函数C.一个对象调用不同名称的函数 D.一个对象调用不同名称的对象20. C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是( )A.增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型 D.引进了类和对象的概念二、填空题21. C++中只有两个逻辑常量:true和______。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C+=模板定义
1、模板的概念:
在C++中,模板是泛型编程的基础。

模板是创建类或函数的蓝图或公式。

2、定义函数模板:
模板定义以template关键字开始,后接模板形参表(用<>括起来),多个模板形参用逗号隔开。

模板形参的名字没有实际意义。

1)模板形参表:模型形参可以是表示类型的类型形参,也可以是表示常量表达式的非类型形参。

模板形参表不能为空。

2)使用模板函数:使用时,编译器会确定绑定到模板形参的模板实参类型。

编译器确定用实际类型代替每个类型形参,用值代替每个非类型形参。

3)inline函数模板:如,template <type T> T max(const T&, const T&);
模板函数定义和使用示例:
#include <iostream>
using std::cout;
using std::endl;
//定义模板函数
template <typename T>
int compare(const T &v1, const T &v2)
{
if(v1<v2) return -1;
if(v2<v1) return 1;
return 0;
}
//使用模板函数
int main(){
cout<<compare(1,2)<<endl;
cout<<compare("a","A")<<endl;
system("pause");
return 0;
}
3、定义类模板
在类声明前加上template <class T>,其余部分与类的声明基本一致。

类模板可以定义数据成员、函数成员和类型成员,构造函数和析构函数等。

也可以使用标号控制对成员的访问。

在类和类的成员中,可以使用模板形参作为类型或值的占位符,在使用类时再提供那些类型或值。

类模板示例:
template <class T>
class Queue {
public:
Queue();
T &front();
const T &front()const;
void push(const T &);
void pop();
bool empty()const;
};
使用类模板:
使用类模板时,必须为模板形参显示指定实参。

如:
Queue<int> qi;
Queue<string> qs;
Queue< vector<double> > qc;
模板形参:。

相关文档
最新文档