itgle.com

有以下程序: include usingnamespacestd; classCFactorial { private:intvalue;intfac有以下程序:include <iostream>using namespace std;class CFactorial{private:int value;int fact;public:CFactorial ( int val );void CalculateFactorial();void Display();};CFactorial :: CFact

题目
有以下程序: include usingnamespacestd; classCFactorial { private:intvalue;intfac

有以下程序:

include <iostream>

using namespace std;

class CFactorial

{

private:

int value;

int fact;

public:

CFactorial ( int val );

void CalculateFactorial();

void Display();

};

CFactorial :: CFactorial( int val )

{

value = val;

fact = 1;

}

void CFactorial :: CalculateFactorial()

{

int i = value;

while ( i > 1 )

fact *= i--;

}

void CFactorial :: Display()

{

cout<<value<<"!="<<fact<<end1;

}

int main()

{

CFactorial A( 5 );

A.CalculateFactorial();

A.Display();

return 0;

}

程序中,类CPactorial的功能是【 】,该程序运行的结果是【 】。


相似考题
更多“有以下程序: include<iostream> usingnamespacestd; classCFactorial { private:intvalue;intfac ”相关问题
  • 第1题:

    有以下程序:includeincludeusing namespace std; class point{private:double

    有以下程序: #include<iostream> #include<math> using namespace std; class point { private: double x; double y; public: point(double a,double B) { x=a; y=b; } friend double distance (point a,point B) ;

    A.1

    B.5

    C.4

    D.6


    正确答案:C
    解析:本题考核友元函数的应用。分析程序:类point中定义了两个私有成员x和y,以及一个友元函数distance。从而,函数distance可以访问类point中的任何成员。在函数distance中,返回值为sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y))。由此可知,函数distance的功能是计算a、b两点之间的距离。在主函数main中,先定义两点:p1(1,2)和p2(5,2)。然后调用函数distance计算两点之间的距离为4,所以程序最后输出为4。

  • 第2题:

    以下程序执行后输出的结果是【】。 include using namespace std; int fac(int a,int b){

    以下程序执行后输出的结果是【 】。

    include<iostream>

    using namespace std;

    int fac(int a,int b){

    return(b-a)*a;

    }

    int main(){

    int x=3,y=4,z=5,result;

    result=fac(fac(x,y),fac(x,z));

    cout<<result<<endl;

    return 0;

    }


    正确答案:9
    9 解析:在main()函数中执行result=fac(fac(x,y),fac(x,2));调用了三次fac()函数: fac(x,y)的值为3,fac(x,z)的值为6,fac(3,6)得到的值为9。

  • 第3题:

    若有以下程序:include using namespace std;class A{private: int a;public: A(int

    若有以下程序: #include <iost ream> using namespace std; class A { private: int a; public: A(int i) { a=i; } void disp () { cout<<a<<", "; } }; class B { private:

    A.10,10,10

    B.10,12,14

    C.8,10,12

    D.8,12,10


    正确答案:D
    解析:本题考核派生类构造函数的使用。本题中,派生C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。而且派生类C中的成员函数disp分别调用了基类A、B的公有成员函数disp()用于输出基类中私有数据变量初始化后的值。所以由类C构造函数的初始化形式可知,程序最后输出为8,12,10,即D选项。

  • 第4题:

    有以下程序:includeusing namespace std;class BASE{private: char c;public: BASE(c

    有以下程序: #include <iostream> using namespace std; class BASE { private: char c; public: BASE(char n):c(n);{} virtual~BASE() { cout<<c; } }; class DERIVED:public BASE { char c; p

    A.XY

    B.YX

    C.X

    D.Y


    正确答案:A
    解析:在C++中,由于析构函数不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。执行顺序是先执行派生类的析构函数,再执行基类的析构函数,其顺序与执行构造函数的顺序正好相反。在此题的程序中,在主函数结束时,派生类DERIVED对象obj将被删除,所以就会调用对象的析构函数。先调用派生类的析构函数,输出X,然后调用基类的析构函数,输出Y。

  • 第5题:

    有以下程序:include using namespace std;define PI 3.14class Point{ private:int

    有以下程序: #include <iostream> using namespace std; #define PI 3.14 class Point { private: int x,y; public: Point(int a,int b) { x=a; y=b; } int getx() { return x; }

    A.314

    B.157

    C.78.5

    D.153.86


    正确答案:A
    解析:本题考核派生类的定义和应用。本程序设计了一个点类Point,包含了横、纵两个坐标数据x和y,由它派生出了圆类Circle,并加入了新的数据成员,即一个半径r和一个求圆面积的函数成员area。在主函数main中,首先定义了一个圆Circle类的对象c1,并通过它的构造函数初始化其数据成员。由此可知,其半径r的值为10,所以其面积为PI*10'10=314,即对象c1的函数成员area的返回值为314。