一个早上的笔试题目
10-15 23:59:20
来源:http://www.qz26.com 笔试题目 阅读:8454次
导读:using namespace std; class A { protected: int m_data; public: A(int data = 0){m_data = data; } int GetData(){return doGetData();} virtual int doGetData(){ return m_data;} }; class B:public A { protected: int m_data; public: B(int data = 1){m_data = data; } int doGetData(){ return m_data;} }; class C:public B { protected: int m_data; public: C(in
一个早上的笔试题目,标签:银行笔试题目,企业笔试题目,http://www.qz26.com
using namespace std;
class A
{
protected:
int m_data;
public:
A(int data = 0){m_data = data; }
int GetData(){return doGetData();}
virtual int doGetData(){ return m_data;}
};
class B:public A
{
protected:
int m_data;
public:
B(int data = 1){m_data = data; }
int doGetData(){ return m_data;}
};
class C:public B
{
protected:
int m_data;
public:
C(int data = 2){m_data = data; }
};
int main()
{
C c(10);
cout<<c.GetData()<<endl;
cout<<c.A::GetData()<<endl;
cout<<c.B::GetData()<<endl;
cout<<c.C::GetData()<<endl;
cout<<c.doGetData()<<endl;
cout<<c.A::doGetData()<<endl;
cout<<c.B::doGetData()<<endl;
cout<<c.C::doGetData()<<endl;
system("PAUSE");
return 0;
}
///////////////////////////////////////////////////////
运行的结果是
1
1
1
1
1
0
1
1
不明所以……
www.qz26.com 【joyous】:
眼花……
Class C 完全就是障眼的,关键在于 Class B 和 Class A 以及 Class A 内的 virtual int doGetData(); 和 Class B 的 int doGetData() { return m_data; };
【lightnut】:
#include <iostream>
using namespace std;
class A
{
protected:
int m_data; // A::m_data
public:
A(int data = 0){m_data = data; } // A::m_data = data (0)
int GetData(){return doGetData();}
virtual int doGetData(){ return m_data;} // A::m_data
};
class B:public A
{
protected:
using namespace std;
class A
{
protected:
int m_data;
public:
A(int data = 0){m_data = data; }
int GetData(){return doGetData();}
virtual int doGetData(){ return m_data;}
};
class B:public A
{
protected:
int m_data;
public:
B(int data = 1){m_data = data; }
int doGetData(){ return m_data;}
};
class C:public B
{
protected:
int m_data;
public:
C(int data = 2){m_data = data; }
};
int main()
{
C c(10);
cout<<c.GetData()<<endl;
cout<<c.A::GetData()<<endl;
cout<<c.B::GetData()<<endl;
cout<<c.C::GetData()<<endl;
cout<<c.doGetData()<<endl;
cout<<c.A::doGetData()<<endl;
cout<<c.B::doGetData()<<endl;
cout<<c.C::doGetData()<<endl;
system("PAUSE");
return 0;
}
///////////////////////////////////////////////////////
运行的结果是
1
1
1
1
1
0
1
1
不明所以……
www.qz26.com 【joyous】:
眼花……
Class C 完全就是障眼的,关键在于 Class B 和 Class A 以及 Class A 内的 virtual int doGetData(); 和 Class B 的 int doGetData() { return m_data; };
【lightnut】:
#include <iostream>
using namespace std;
class A
{
protected:
int m_data; // A::m_data
public:
A(int data = 0){m_data = data; } // A::m_data = data (0)
int GetData(){return doGetData();}
virtual int doGetData(){ return m_data;} // A::m_data
};
class B:public A
{
protected:
Tag:笔试题目,银行笔试题目,企业笔试题目,求职笔试面试 - 笔试题目
下一条:公司笔试题目