`

C++:单元综合测试(二)

cpp 
阅读更多

第4题:

理解函数重载的概念:

以下为易混淆点

1.派生类中重新定义了一个和基类中的原型完全相同的函数,这种情况不属于函数重载,属于重写

2.类中定义了两个同名、同参数表的函数,但其中一个是常成员函数,这种情况属于函数重载

第14题:

虚基类的正确声明为:class B:virtual public A

第15题:

理解虚函数:

虚函数既可以在函数说明时定义,也可以在函数实现时定义,这种说法错误

第30题:

定义派生类时,若不使用类关键字显式地规定采用何种继承方式,则默认方式为 私有  继承

例子:

 

#include <iostream.h>
class Point {

private:
	int x,y;
public:
	Point(int a,int b){x = a;y = b;}
	void show(){
	
	    cout << "x = " << x << ", y = " << y << endl;
	}

};
class a: Point{
private :
	int H,W;
public:
	a(int a,int b,int h,int w):Point(a,b){
	   H = h;
	   W = w;
	}
	void show(){
		Point::show();
		cout << "H = " << H << ", W = " << W << endl;
	}
};
class Test:public a{
  
public:
	Test(int a,int b,int h, int w):a(a,b,h,w){}
	void show(){
		a::show()
		//Point::show();//error C2247: 'show' not accessible because 'a' uses 'private' to inherit from 'Point'
	}
};
void main(){}

 

第39题:

重载的运算符保持其原有的运算符个数、优先级和结合性不变

第49题:

注意friend与static的区别和用法

例子一:

 

 

#include <iostream.h>
#include <math.h>
class dis{
private:
	double x,y;
public:
	dis(double x1,double y1){
	  x = x1;
	  y = y1;
	}
	double getx(){
	   return x;
	}
	double gety(){
	   return y;
	}
	friend double log(dis&,dis&);
};
double log(dis&a,dis&b){
   double px = a.x - b.x;
   double py = a.y - b.y;
   return sqrt(px*px + py*py);
}
void main(){
    dis p1(3.5,4.5),p2(5.5,6.5);
	double d = log(p1,p2);
	cout << "the distance is " << d;
}
 
例子二:
#include <iostream.h>
#include <math.h>
class dis{
private:
	double x,y;
public:
	dis(double x1,double y1){
	  x = x1;
	  y = y1;
	}
	double getx(){
	   return x;
	}
	double gety(){
	   return y;
	}
	static double log(dis&,dis&);
};
double dis::log(dis&a,dis&b){
   double px = a.x - b.x;
   double py = a.y - b.y;
   return sqrt(px*px + py*py);
}
void main(){
    dis p1(3.5,4.5),p2(5.5,6.5);
	double d = dis::log(p1,p2);
	cout << "the distance is " << d;
}
 
第53题:
有两个矩阵a和b,都是2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加。如c = a + b
#include <iostream.h>
class Mx {   
private:
	int m[2][3];
public:
	Mx();
	friend Mx operator+ (Mx&,Mx&);
	void input();
	void show();
};
Mx::Mx(){
	for(int i = 0; i < 2; i++ ) {
		for(int j = 0 ; j < 3; j++ ){
			m[i][j] = 0;
		}
	}
}
Mx operator+ (Mx& a, Mx& b){
	Mx c;
	for(int i = 0 ; i < 2 ; i++){
		for(int j = 0 ; j < 3 ; j++){
			c.m[i][j] = a.m[i][j]+b.m[i][j];
		}
	}
	return c;
}
void Mx::input(){
	cout << "输入矩阵的值:"
		<< endl;
	for(int i = 0 ; i < 2; i++){
		for(int j = 0 ; j < 3 ; j++){
			cin >> m[i][j];
		}
	}
}
void Mx::show(){
	for(int i = 0 ; i < 2; i++){
		for(int j = 0 ; j < 3; j++){
			cout << m[i][j] << "  ";
		}
		cout << endl;
	}
}
void main(){
	Mx a,b,c;
	a.input();
	b.input();
	cout << endl << "矩阵a:"
		<< endl;
	a.show();
	cout << endl << "矩阵b:"
		<< endl;
	b.show();
	c = a + b;
	cout << endl << "矩阵c:"
		<< endl;
	c.show();
}
 
分享到:
评论

相关推荐

    C/C++单元测试问答

    C/C++单元测试问答软件测试为什么要进行单元测试?●单元测试保证局部代码的质量●单元测试改良项目代码的整体结构●单元测试降低测试、维护升级的成本●单元测试使开发过程适应频繁变化的需求●单元测试有助于提升...

    C++、JAVA+、C+++、软件测试面试题

    1. **测试类型**:单元测试、集成测试、系统测试、验收测试等的定义和目的。 2. **测试方法**:黑盒测试、白盒测试、灰盒测试的选择和应用。 3. **缺陷管理**:Bug报告的编写,跟踪和修复流程。 4. **自动化测试**:...

    java、c++、软件测试面试题

    1. **测试基础**:理解软件测试的目的、类型(单元测试、集成测试、系统测试、验收测试等)和生命周期。 2. **缺陷管理**:了解缺陷报告的编写,以及缺陷的严重性和优先级判断。 3. **测试策略**:掌握黑盒测试、...

    C++ JAVA 软件测试面试题汇总

    - **测试类型**:包括单元测试、集成测试、系统测试、验收测试和回归测试等,了解它们的目的和执行顺序。 - **测试策略**:黑盒测试、白盒测试、灰盒测试分别关注程序的行为、内部结构和两者的结合。 - **缺陷...

    软件测试题大全(Java,c++)

    本资源“软件测试题大全(Java,c++)”聚焦于两种主流编程语言——Java和C++,提供了丰富的测试题目,旨在帮助学习者和从业者提升软件测试技能。以下是根据标题、描述以及压缩文件名所涉及的软件测试相关知识点的...

    面试题集--C++ JAVA 测试面试必看

    这份名为"面试题集--C++ JAVA 测试面试必看"的资源,显然是为准备这些技术面试的求职者精心编纂的。下面将详细讨论C++、JAVA和测试面试中的常见知识点,帮助你更好地理解和准备。 首先,我们来看C++部分。C++是一种...

    C 、JAVA 、C++ 、软件测试面试题

    1. 测试类型:单元测试、集成测试、系统测试、验收测试。 2. 测试用例设计:等价类划分、边界值分析、因果图法。 3. 缺陷管理:缺陷生命周期、严重性级别、优先级。 4. 测试文档:测试计划、测试用例、测试报告。 5....

    C&C++单元测试培训

    C/C++单元测试培训是一门旨在解决企业项目中单元测试难题的课程,它将理论与实际相结合,通过具体的工具和实例来讲述单元测试的知识和技巧。课程强调落地实施,即在现有条件和可承受的成本下,追求最佳的效费比。本...

    c++常见笔试题目和软件测试有关题目

    在IT行业的面试与招聘过程中,C++编程语言和软件测试是两个重要的领域。这份资源,"C++常见笔试题目和软件测试有关题目",显然旨在帮助求职者准备这两个方面的考核。下面将对C++和软件测试的相关知识点进行详细阐述...

    C++程序设计题库(182道含答案)

    4. 函数设计:在C++中,函数是一种基本的编程单元,用于实现特定的操作。在本题库中,函数设计用于实现链表的操作,例如统计链表中的节点个数。 5. 编程技巧:本题库涵盖了多种编程技巧,例如循环、判断、数组、...

    软件测试,java/c++面试题总结

    本篇文章将对软件测试、Java和C++的面试题进行深度剖析,帮助求职者更好地准备面试。 一、软件测试基础知识 1. 测试类型:包括单元测试、集成测试、系统测试、验收测试等,每种测试的目标和方法都有所不同。 2. ...

    c++primer第五版第三单元习题代码

    《C++ Primer 第五版》是C++编程领域的一本权威教材,其第三单元主要涵盖了C++的基础语法和核心概念。以下将详细解读这个压缩包中包含的习题代码所涉及的知识点: 1. **3.2**:这部分可能涉及到基本的变量声明和...

    vC++、JAVA+、C+++、软件测试面试题.rar

    常见的测试方法有单元测试、集成测试、系统测试和验收测试。面试中,面试者可能需要展示对测试生命周期(V模型或敏捷测试)、缺陷管理流程、测试用例设计(等价类划分、边界值分析等)、自动化测试工具(如Selenium...

    计算机二级考试C++真题

    计算机二级考试是全国计算机等级考试的一部分,主要针对非计算机专业人员进行的一系列计算机能力的测试。C++作为一门强大的编程语言,是计算机二级考试中的一个重要科目。本资料集包含了2005年至2010年的C++考试真题...

    东软 校园招聘考试套题 嵌入式 Java C++

    8. 测试:掌握JUnit和Mockito等测试工具,理解单元测试和集成测试的重要性。 【C++编程】 C++作为底层开发和高性能计算的重要语言,也是东软招聘的考察点: 1. C++基础:理解C++的三大特性:面向过程、面向对象和...

    C++、JAVA+、C、软件测试面试题.rar

    - 测试类型:了解单元测试、集成测试、系统测试和验收测试的区别。 - 黑盒/白盒测试:掌握这两种测试方法,理解其应用场景。 - 缺陷管理:理解缺陷生命周期,使用缺陷跟踪系统进行问题管理。 - 测试用例设计:...

    极客班C++设计模式测试题(8月25日)1

    在本题中,我们需要设计一个C++程序,包含一个`MainForm`类作为用户界面,以及一个`FileSplitter`类来实现文件的分割功能。设计的目标是支持多种文件分割算法,提供进度条实时更新,并遵循松耦合的面向对象设计原则...

Global site tag (gtag.js) - Google Analytics