软件工程师笔试题
软件工程师笔试题
软件工程师是从事软件开发相关工作的人员的统称。下面就由学习啦小编为大家介绍一下软件工程师笔试题的文章,欢迎阅读。
软件工程师笔试题篇1
学习啦在线学习网 考察虚继承内存体系
class A
{
public:
A() { cout<<"Construct A"<
学习啦在线学习网 ~A() { cout<<"Destruct A"<
学习啦在线学习网 void speak() { cout<<"A is speaking!"<
};
class B:public virtual A
{
public:
学习啦在线学习网 B() { cout<<"Construct B"<
~B() { cout<<"Destruct B"<
};
学习啦在线学习网 class C:public virtual A
{
public:
学习啦在线学习网 C() { cout<<"Constuct C"<
~C() { cout<<"Destruct C"<
};
学习啦在线学习网 class D:public B, public C
{
public:
D(){ cout<<"Constsruct D"<
~D(){ cout<<"Destruct D"<
};
学习啦在线学习网 int main()
{
D *p = new D();
p->speak();
delete p;
}
输出:
Construct A
Construct B
学习啦在线学习网 Constuct C
Constsruct D
A is speaking!
学习啦在线学习网 Destruct D
Destruct C
学习啦在线学习网 Destruct B
学习啦在线学习网 Destruct A
软件工程师笔试题篇2
考察非虚析构函数
学习啦在线学习网 1、class Parent
{
public:
学习啦在线学习网 Parent(){cout<<"Parent construct"<
~Parent(){ cout<<"Parent destruct "<
};
学习啦在线学习网 class Child : public Parent
{
public:
Child() { cout<<"Child construct "<
~Child() {cout<<"child destruct"<
};
学习啦在线学习网 int main()
{
学习啦在线学习网 Parent *p;
Child *c = new Child();
p = c;
学习啦在线学习网 delete p; 因为析构函数是非virtual的,故析构的时候按照指针的类型进行析构
}
输出:
Parent construct
学习啦在线学习网 Child Construct
学习啦在线学习网 Parent destruct
2、 考察初始化列表的写法
class A
{
public:
A(int x, int y, int z):a=x,b=y,c=z {} (1)
A(int x, int y, int z):a(x),b(y),c(z){} (2)
private:
int a;
int b;
int c;
};
学习啦在线学习网 int main()
{
A a(1,2,3);
}
软件工程师笔试题篇3
学习啦在线学习网 1、考察拷贝构造函数和赋值的区别。
class A
{
public:
学习啦在线学习网 A() { cout<<"Construct A by default"<
学习啦在线学习网 A(const A& a) { cout<<"consttuct A by copy"<
A& operator =(const A& a) { cout<<"cosnt A by operator ="<
~A() { cout<<"Destruct A"<
};
int main()
{
A a;
学习啦在线学习网 A b=a; //调用拷贝构造函数
A c(a); //调用拷贝构造
A d;
d=a; //赋值
}
输出:
学习啦在线学习网 Construct A by default //构造对象a
consttuct A by copy //拷贝构造b
学习啦在线学习网 consttuct A by copy //拷贝构造c
Construct A by default //构造a
cosnt A by operator = //赋值d=a
学习啦在线学习网 Destruct A
Destruct A
学习啦在线学习网 Destruct A
Destruct A
学习啦在线学习网 2、 考察函数指针
void func(char* a)
{
cout<
}
int main()
{
学习啦在线学习网 void (*fp)(char*); //填空处
fp = func; //函数名func相当于函数的地址,将其赋给函数指针fp
char* s="helloc";
fp(s);
}