[主观题]

使用VC6打开考生文件夹下的工程test23_3,此工程包含一个源程序文件test23_3.cpp,其中定义了类X和它的友元类Y,但它们的定义并不完整。请按要求完成下列操作,将程序补充完整。(1)将类X的静态数据成员y初始化为1。请在注释“//**1**”之后添加适当的语句。(2)完成类Y的构造函数Y(int i,int j)的定义,将参数i赋值给类Y的数据成员,X的对象a中的数据成员x,并且把参数j赋值给类X的数据成员y,请在注释“//**2**”之后添加适当的语句。(3)完成类Y的成员函数void Display()的定义,将Y的数据成员,X的对象a中的数据成员x和类X的数据成员y按照“x=_,y=_”的形式显示出来(“_”代表一个数字),请在注释“//**3**”之后添加适当的语句。

输出结果如下:

x=5,y=l

x=6,y=9

x=5,y=9

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

源程序文件test23_3.cpp清单如下:

include<iostream.h>

class X

{

friend class Y;

public:

void Set(int i) {x=i;}

void Display()

{

cout<<"x="<<x<<",";

cout<<"y="<<y<<endl;

}

private:

int x;

static int y;

};

class Y

{

public:

Y(int i, int j)

void Display();

private:

X a;

};

//**1**

Y::Y(int i, int j)

{

//**2**

}

void Y::Display()

{

//**3**

}

void main ( )

{

X b;

b.Set(5);

b.Display();

Y c(6,9);

c.Display();

b.Display();

}

参考答案与解析:

相关试题

使用VC6打开考生文件夹下的工程test19_3,此工程包含一个源程序文件tes

[主观题]使用VC6打开考生文件夹下的工程test19_3,此工程包含一个源程序文件test19_3.cpp,其中定义了用于表示向量的类 vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整。(1)补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。请在注释“//**1**”之后添加适当的语句。(2)完成类vector的成员函数input(int x,i

  • 查看答案
  • 使用VC6打开考生文件夹下的工程test17_3,此工程包含一个源程序文件tes

    [试题]使用VC6打开考生文件夹下的工程test17_3,此工程包含一个源程序文件test17_3.cpp,其中定义了用于表示点的类Point和表示内容的类Text以及二者的派生类CircleWithText,但它们的定义并不完整。请按要求完成下列操作,将它们的定义补充完整。(1)定义类Point的构造函数,请使用参数列表的形式将成员函数x和y分别初始化为参数x1和y1的值。请在注释“//**1**。”之后添加适当的语句。(2)完成类Text的构造函数Text(char *str)的定义,将char型的s

  • 查看答案
  • 使用VC6打开考生文件夹下的工程test10_1,此工程包含一个源程序文件tes

    [试题]使用VC6打开考生文件夹下的工程test10_1,此工程包含一个源程序文件test10_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为;class Baseclass D1class D2class D3fin Base源程序文件test10_1.cpp清单如下:include<iostream.h>class Base{public:B.ase(){cout<<"class Base"<<endl;}void f(){cout<<"f in Base"<<endl

  • 查看答案
  • 使用VC6打开考生文件夹下的工程test28_1,此工程包含一个源程序文件tes

    [试题]使用VC6打开考生文件夹下的工程test28_1,此工程包含一个源程序文件test28_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:55源程序文件test28_1.cpp清单如下:include <iostream.h>class A{public:/***************** found *****************static int n=1;A.(){n++;};~A() (n--;};};/***************** found ****

  • 查看答案
  • 使用VC6打开考生文件夹下的工程test11_1,此工程包含一个源程序文件tes

    [试题]使用VC6打开考生文件夹下的工程test11_1,此工程包含一个源程序文件test11_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:ch1=7 ch2=9源程序文件test11_1.cpp清单如下:include<iostream.h>class Sample{/**************** found ***************/char ch1,ch2public:/************** found ***************/friend v

  • 查看答案
  • 使用VC6打开考生文件夹下的工程test33_1,此工程包含一个源程序文件tes

    [试题]使用VC6打开考生文件夹下的工程test33_1,此工程包含一个源程序文件test33_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:Number=1,2,3sum=16源程序文件test33_1.cpp清单如下;include <iostream.h>class Num{public:/***************** found *****************/void Num(int a,int b, int c);void PrintNumber();vo

  • 查看答案
  • 使用VC6打开考生文件夹下的工程test8_3,此工程包含一个源程序文件test

    [主观题]使用VC6打开考生文件夹下的工程test8_3,此工程包含一个源程序文件test8_3.cpp,该文件设计了用于输出乘法九九表的类。请认真阅读已有的代码,按要求完成下列操作,将程序补充完整。(1)定义类Table的私有数据成员x和y,分别用于表示九九表中的两个乘数(x*y),它们都是int型的数据。请在注释“//**1**”之后添加适当的语句;(2)完成类Table的成员函数prin()的定义,该函数以“x*y=z”的格式打印出九九表中的一个乘法算式,请使用格式化输出函数prinff实现,在注释

  • 查看答案
  • 使用VC6打开考生文件夹下的工程test5_3。此工程包含一个源程序文件test

    [试题]使用VC6打开考生文件夹下的工程test5_3。此工程包含一个源程序文件test5_3.cpp,其中定义了一个类Pn,用于求n!。请按要求完成下列操作,将程序补充完整。(1)定义私有数据成员value(存放n)和fact(存放n!),它们都是ht型的数据。请在注释“//**1**”之后添加适当的语句。(2)完成默认构造函数Pn的定义,使Fn对象的数据成员value值为i,fact值为1。请在注释“//**2**”之后添加适当的语句。(3)完成函数Cal的定义,该函数计算value的阶乘,并将运算结

  • 查看答案
  • 使用VC6打开考生文件夹下的工程test7_3,此工程包含一个源程序文件test

    [试题]使用VC6打开考生文件夹下的工程test7_3,此工程包含一个源程序文件test7_3.cpp,其中含有一个类Circle的定义,但该类的定义并不完整。请按要求完成下列操作,将类Circle的定义补充完整。(1)为类Circle增加一个构造函数,该函数有一个参数,并在构造时将该参数值赋给成员radius。将该函数实现为一个非内联函数,并且使用参数列表的方式将类成员赋值。请在注释“//**1**”之后添加适当的语句。(2)为类Circle增加一个成员函数print(),使得可以输出有关圆的信息,比如

  • 查看答案
  • 使用VC6打开考生文件夹下的工程test6_1,此工程包含一个源程序文件test

    [试题]使用VC6打开考生文件夹下的工程test6_1,此工程包含一个源程序文件test6_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:C.onstructor2C.onstructor1i=0i=10D.estructor源程序文件test6_1.cpp清单如下:include<iostream.h>class CSample{int i;public;C.Sample(){cout<<"Constructorl"<<endl;i=0;)C.Sample(int val

  • 查看答案