C++题目

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 167 收藏 0 点赞 0 评论 0

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 <stdio.h>

#include <stdlib.h>

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(”test0n”);

}

void test1(CAAA ca)

{

printf(”test1n”);

}

void test2(CAAA ca)

{

printf (”test2n”);

}

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.

评论列表
文章目录