集中写几个关于类继承语法的典型题目
1,
#include <iostream>
using namespace std;
class Base
{
int i;
public:
static int s;
Base():i(0)
{
cout<<"Base:Construct"<<endl;
s++;
}
static void sFun()
{
cout<<s<<endl;;
}
void f(float f)
{
cout<<"Base:f()"<<endl;
}
void g(float f)
{
cout<<"Base:g(float)"<<endl;
}
};
int Base::s=0;
class Derived: public Base
{
int j;
public:
//基类构造函数先执行.
Derived():j(0)
{
cout<<"Derived:Construct"<<endl;
s++;
}
void f(float f)
{
cout<<"Derived:f()"<<endl;
}
void g(int f)
{
cout<<"Derived:g(int)"<<endl;
}
};
int main()
{
Base *pB;
Base *pD;
Derived d;
pD=&d;
pD->sFun();
Base b;
pB=&b;
pB->sFun();
//全是执行Base
pB->f(3.14f);
pD->f(3.14f);
b.g(3.14f);
d.g(3.14f);
return 0;
}
2,
#include <iostream>
using namespace std;
class B
{
public:
B()
{
cout<<"default constructor"<<endl;
}
~B()
{
cout<<"destructed"<<endl;
}
B(int i):data(i) //B(int) works as a converter ( int -> instance of B)
{
cout<<"constructed by parameter " << data <<endl;
}
private:
int data;
};
B Play( B b)
{
return b ;
}
int main()
{
//case1:
//析构三次:
//默认,参数构造,返回复制
B t1;
t1 = Play(5);
//case2:
//析构两次:
//参数构造,返回复制
B t2= Play(5);
return 0;
}
分享到:
相关推荐
#### 十、类的继承与组合 - **继承**:了解继承的基本概念,如何实现和维护继承关系。 - **组合**:通过组合其他类的对象来扩展功能,而不是通过继承。 #### 十一、其它编程经验 - **使用const提高健壮性**:通过...
【标题】:“北京四维公司上机面试题(全英文)”揭示了这是一场针对C++编程语言的面试考核,特别强调了全英文环境,意味着应聘者不仅需要精通C++,还需要具备良好的英语阅读和理解能力。北京四维公司可能是一家注重...
这道2011年腾讯校招的面试题虽然没有明确的问题描述,但从标签中我们可以推测,它可能涉及C++、.NET、Java这三种编程语言中的某一方面,或者是关于算法设计与分析。面试题通常旨在考察候选人的思维能力、编程基础...
10. **C++特有内容**:类与对象、继承、多态、模板、异常处理等面向对象编程的概念和实践。 文档中的每一道题目都是精心设计的,它们不仅仅是技术检验,更是思维方式和解决问题能力的锻炼。在解答过程中,你不仅...
内容概要:本文档提供了一系列针对C++开发者常见的面试题目及其解答,涵盖了构造函数与析构函数的概念、深拷贝与浅拷贝的区别、虚函数的作用、RAII编程准则的应用、实现多重继承的方法及可能引发的问题,还有智能...
这些题目涵盖了C与C++编程语言的多个核心概念,包括头文件的包含方式、内存管理、函数调用、数据类型...以上就是C与C++面试题的相关知识点解析,涵盖了许多编程基础及高级概念,有助于提升面试者的技术理解和应用能力。
从一道面试题深入探讨Linux下fork的运行机制 在Linux操作系统中,`fork()`系统调用是进程管理的核心功能之一,它允许一个已存在的进程创建一个新的进程,即子进程。子进程几乎完全复制父进程的状态,包括内存映像、...
C++面试常考知识点 ...C++语言中有很多其他的知识点,例如C风格字符串、C++数据类型大小、类的继承、抽象类、虚函数、封装特性、继承特性、组合特性和动态特性等。 掌握这些知识点对面试的成功至关重要。
5. **C++设计:不可继承的类** - C++中没有final关键字,但可以通过使构造函数和析构函数为私有来防止继承。示例代码给出了两种实现方式:一种是使用静态方法获取实例,另一种是利用模板和类型擦除技术,使类的行为...
《C++笔试题集锦》是一本专门为C++编程爱好者和求职者准备的资源,它汇集了46家公司的C++笔试题目,旨在帮助读者深入理解和掌握C++语言的核心概念、语法特性以及实际应用技巧。这份资料对于提升C++编程能力,特别是...
这份资料的核心是300道精心挑选的题目,每一道题都代表着一个或多个关键的C++知识点,通过解答这些题目,学习者可以深入理解C++的基础概念,提高编程能力。 在C++的学习中,以下是一些核心的知识点: 1. **基础...
《经典C++程序员笔试题》是一份集合了各种难度层次的C++编程题目,旨在全面检验程序员的基础知识、编程技巧以及问题解决能力。这份资料涵盖了从基础语法到高级特性的各个方面,是提升C++技术水平的理想参考资料。 ...
首先,试题主要围绕C++的基础知识展开,这部分内容包括但不限于变量、数据类型、运算符、流程控制语句(如if-else、switch-case、for、while)、函数的定义与调用、类与对象的概念、封装、继承和多态等。这些都是C++...
而C++则是在C的基础上增加了面向对象特性,支持类、继承、多态等高级概念,常用于开发大型软件系统。了解这两者的区别和联系,是解答这类笔试题的关键。 在C语言部分,常见的笔试题型可能包括指针操作、内存管理、...
2. 文件逆序存储:这是一道关于文件操作的问题,可以通过读取原文件的每个字符并按逆序写入新文件来实现。具体实现可能涉及文件流的使用,如`ifstream`和`ofstream`,以及循环和缓冲区的管理。 3. `main`函数后的...
本题是爱立信公司在招聘过程中用于笔试的一道C++编程题。题目旨在考察应聘者对C++基本概念的理解,尤其是指针、对象生命周期管理以及多态性的掌握情况。 #### 题目代码 ```cpp #include using namespace std; ...
华为面试题中有一道字符串处理的题目,要求候选人在20分钟内编写代码,找到字符串中第一个字符在本字符串中最后出现的位置。 6.2 性格测评 华为面试还包括性格测评,旨在评估候选人的性格特征和职业能力。 华为...
### 华为面试题解析 #### Q1:OSI与TCP/IP模型的区别 - **OSI(开放式系统互联)模型**:由国际标准化组织(ISO)制定,它将网络通信的功能划分为7个层次,分别为物理层、数据链路层、网络层、传输层、会话层、...
一道C++面试题的实现(框架:QT) 题目: 1.画三角形,四边形,圆形,在窗口中移动,碰到窗口边缘会自动弹回 2.通过菜单,可以增加三角形,四边形,圆形 3.对选中的图形,可以设置填充颜色,线条宽度 4...