设为首页 加入收藏

TOP

C++题目
2014-11-24 01:25:59 来源: 作者: 【 】 浏览:8
Tags:题目

1。给定下面的代码:


class Graph{


public:


Graph() { s_gCount++; }


virtual ~Graph() { s_gCount–;}


virtual int drawOut() = 0;



static int getTotalCount() { return s_gCount; }


protected:


int m_x;


int m_y;


static int s_gCount;


};



回答下列问题:(各5分)



1)这个类能否生成实例,为什么?


2)上述代码中有什么错误?


3)如果有一个Rectangle类公共继承该类,那么s_gCount对Rectangle的成员属性是什么?


4)对Graph及其子类的计数是否有效,如果无效应该采取什么措施?


5)请画出该类的内存布局结构示意图



———————————————————–


2。给定下面的代码:


class A


{


int a;


};


class AA : public A


{


int aa;


};


class X : public virtual A


{


int x;


};


class Y : public virtual A


{


int y;


};


class Z : public X, public Y {


int z;


};


回答下列问题:(各5分)



1)请画出上述5个类的UML类图


2)请画出A、AA、X、Z的内存布局结构示意图



———————————————————–



3。给定下面代码:


#include


#include


typedef struct _AAA


{


int a;


}AAA, *PAAA;


class CAAA


{


public:


CAAA() { m_a.a = 0; }


CAAA(CAAA& in) { printf(”CAAA(CAAA& in)\n”); }


CAAA(AAA in) { printf(”CAAA(AAA in)\n”); }


CAAA(int in) { printf(”CAAA(int in)\n”); }


private:


AAA m_a;


public:


operator PAAA ()


{


return &m_a;


}


};


void test0(PAAA pa)


{


printf(”test0\n”);


}


void test1(CAAA ca)


{


printf(”test1\n”);


}


void test2(CAAA ca)


{


printf (”test2\n”);


}


void main(void)


{


CAAA a;


test0 (a);


AAA b;


test1 (b);


int i=0;


test2 (i);


}



请回答下列问题:(各5分)


1)找出程序中的错误


2)test0函数声明传入的参数为PAAA类型,而在main函数中,实际传入的是CAAA类型,这是否是一个错误?如果不是,请解释原因。



4。回答下列问题:


1)C++中的struct和class类型有什么区别?(2分)


2)假定一个class名为Test,具有构造函数、拷贝构造函数、operator =,那么


Test a;


Test b=a;


分别执行的是哪一个函数?(2分)


3)C++程序进行链接时是否必须链接stdc++函数库,如果不必须情况下不需要,什么情



况下需要?(2分)


4)你所熟悉的关于C++的中英文经典书籍都有哪些,它们分别都侧重于什么方面?(5分)



五、QT编程。任选2题完成。(各20分)


要求:按照综合编程题目的要求编写代码和文档。


1.编写一个简单的clock控件, 要求从QWidget继承, 有一个指针和表盘,指针每12秒转一圈,并且可以用鼠标左键,起动和停止指针的转动.



2.给定一个designer生成的UI文件, 读取指定名字控件的几何信息,计算出该控件的面积大小.(用Dom和SAX都可)



3.设计一个程序, 建立个人信息库,包括:姓名,年龄,性别,住址.建立完之后可以查处特定人的信息,用designer设计你的界面, 不要求把信息库存在硬盘上.



4.把第三题变成国际化程序, 要求两种语言中文和英文.需要用qt-linquist等工具.



5. 用QSocket实现两台不同机器间的收发, 收发要求用户动态输入.


提示:以上各题需在qt3.0以上实现,推荐用qt-3.1.1,不限止qt-embedded或qt-desktop.


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇明基(BENQ)2012校园招聘笔试题.. 下一篇灵川科技面试题C# .NET方面的

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: