异质链表中增加数据的操作可用函数模板来实现,如例2.4所示。 例2.4
template
return new hetero_node
从异质链表中删除链表首数据的函数如例2.5所示。 例2.5
template
10. 简述采用socket通信时服务器端和客户端的主要工作过程。(5分)
6
二、 读程序写结果,并简述产生各输出结果的原因(每小题4分,共20分) 1.#include
int main(int argc, char* argv[]) {
char str1[] = \ char str2[] = \
const char str3[] = \ const char str4[] = \
const char* str5 = \指向常量的指针 const char* str6 = \
cout << ( str1==str2 ) << endl; 0 cout << ( str3==str4 ) << endl; 0
cout << ( str5==str6 ) << endl; 1比较的是地址 }
2. #include
7
class Point {
public: Point(double i, double j) { x=i; y=j; } virtual double Area() const { return x*y; } private: double x, y; };
class Rectangle:public Point {
public: Rectangle(double i, double j, double k, double l); virtual double Area() const { return w*h; } private: double w, h; };
Rectangle::Rectangle(double i, double j, double k, double l):Point(i, j) { w=k; h=l; }
void fun(Point &s) { cout< void main() { Rectangle rec(1.0, 2.0, 3.0, 4.0); Point *pt; fun(rec); pt = (Point *)&rec; fun(*pt); } 12 12 3. #include 8 class Test; void fun1(Test t); Test fun2(); class Test { public: Test(int n=1) {val=n; cout<<\ } Test(const Test& t) {val=t.val; cout<<\Test& operator = (Test& t) { val=t.val; cout<<\return *this; } private: int val; }; void main() { Test t1(1); Test t2=t1; Test t3; t3=t1; fun1(t2); t3=fun2(); } void fun1(Test t){} Test fun2() { Test t; return t; } 4. # include struct Point { int *x, *y; }; 9 void move ( Point &q ) { --*q.x; ++*q.y; } int main() { Point p; int a = 5, b = -12, t; p.x = &a; p.y = &b; move( p ); t = a; a = b++; b = t++; cout << “p.x = “ << *p.x << endl; cout << “p.y = “ << *p.y << endl; return 0; } p.x =-11 p.y =4 5. #include #include class string { public: string(char *s); string(string &s1); string(int size=80); ~string() { delete sptr; } int getlen() { return length; } void print() { cout< }; string::string(char *s) { length = strlen(s); 10 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库北航软件学院研究生一级工程实践2004届考试试题+答案(2)在线全文阅读。
相关推荐: