武汉华嵌-嵌入式培训专家笔试题目
2014-07-27 23:43
183 查看
[cpp] view
plaincopy
//============================================================================
// Name : main.cpp
// Author : sg131971
// Version :
// Copyright : sg131971@qq.com
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout << __LINE__ << ": " << "1" << endl;
}
virtual ~A()
{
cout << __LINE__ << ": " << "2" << endl;
}
virtual int Add(int n)
{
return 0;
}
};
class B:public A
{
public:
B(int n):num(n)
{
}
virtual ~B()
{
}
virtual int Add(int n)
{
num += n;
return num;
}
private:
int num;
};
class C:public A
{
public:
C(A& obj, int n):a(obj), num(n)
{
cout << __LINE__ << ": " << "3" << endl;
}
virtual ~C()
{
cout << __LINE__ << ": " << "4" << endl;
}
virtual int Add(int n)
{
return a.Add(n + num);
}
private:
A& a;
int num;
};
int main()
{
B b(100);
C c1(b, 1), c2(c1, 2);
cout << __LINE__ << ": " << c2.Add(50) << endl;
return 0;
}
运行结果:
[html] view
plaincopy
17: 1
17: 1
54: 3
17: 1
54: 3
73: 153
58: 4
21: 2
58: 4
21: 2
21: 2
plaincopy
//============================================================================
// Name : main.cpp
// Author : sg131971
// Version :
// Copyright : sg131971@qq.com
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout << __LINE__ << ": " << "1" << endl;
}
virtual ~A()
{
cout << __LINE__ << ": " << "2" << endl;
}
virtual int Add(int n)
{
return 0;
}
};
class B:public A
{
public:
B(int n):num(n)
{
}
virtual ~B()
{
}
virtual int Add(int n)
{
num += n;
return num;
}
private:
int num;
};
class C:public A
{
public:
C(A& obj, int n):a(obj), num(n)
{
cout << __LINE__ << ": " << "3" << endl;
}
virtual ~C()
{
cout << __LINE__ << ": " << "4" << endl;
}
virtual int Add(int n)
{
return a.Add(n + num);
}
private:
A& a;
int num;
};
int main()
{
B b(100);
C c1(b, 1), c2(c1, 2);
cout << __LINE__ << ": " << c2.Add(50) << endl;
return 0;
}
运行结果:
[html] view
plaincopy
17: 1
17: 1
54: 3
17: 1
54: 3
73: 153
58: 4
21: 2
58: 4
21: 2
21: 2
相关文章推荐
- 2015年嵌入式软件岗位笔试题目总结
- c++笔试题目(嵌入式软件开发)
- 【转】嵌入式程序员C语言笔试题目及参考答案-东软集团
- 嵌入式及手机开发[笔试题目]
- 嵌入式相关笔试题目汇总
- 凹凸笔试题目(嵌入式软件开发
- 嵌入式笔试常考题目
- 嵌入式工程师笔试题目汇总
- 高深笔试题目(嵌入式软件开发)
- 嵌入式程序员C语言笔试经典题目
- 高深笔试题目(嵌入式软件开发)
- 嵌入式的笔试/面试经典题目
- 嵌入式工程师笔试面试题目
- 嵌入式及手机开发[笔试题目]
- 嵌入式工程师笔试题目汇总
- 凹凸笔试题目(嵌入式软件开发)
- 嵌入式 中断服务程序笔试题目
- (转)嵌入式C开发人员的最好笔试题目
- 嵌入式笔试题目
- 笔试 嵌入式Linux软件工程师 经常遇到的题目