湖南农业大学自考招生网

湖南农业大学自考信息所在位置:主页 > 自考试题 >

一个类拥有多个构造函数,则这些构造函数间为

时间 :2019-04-03 10:58 来源 : 湖南农业大学自考招生网 作者:admin 点击:

关于友元函数的说法正确的是   使用友元函数的主要目的是提高程序执行效率,因为可直接调用该类私有变量
一个类拥有多个构造函数,则这些构造函数间为  重载关系
下列关于类的权限的描述,说法错误的是  类本身的成员函数只能访问自身的私有成员
使用delete[]删除对象数组时,描述正确的是  数组中各元素都调用析构函数
假设int a=2,b=3;则表达式(++a/b) * b--的值为  3    
面向对象程序设计有以下主要特点,即抽象、  封装    、继承和多态。
运行时的多态性主要是通过  虚函数    来实现。
在用class定义一个类时,数据成员和成员函数的默认访问权限是私有     
用于从键盘上为变量输入值的标准输入流对象是  cin    
定义一个函数模板要用到的第一个修饰符是 template     
C++中,已知char *p1=new char[10]; 则释放p1指向的内存使用语句是 delete [ ]p1     
静态     成员函数中不能直接引用类中说明的非静态成员。
设要把一个文件输出流对象thisFile与文件“d:\myfile\code.txt”相关联,所用的C++语句是 thisFile.open(“d:\\myfile\\code.txt”)     
函数重载时,编译系统会根据形参的类型或  形参的个数    来区分。
 
下列程序的功能是:将字符数组s2中的全部字符(含’\0’)复制到字符数组s1中,不用strcpy函数。
#include <iostream>
using namespace std;
void main( )
{
char s1[180], s2[180];
cin>>s2;
for (int i=0; s2[i]!=’/0’     ; i++) //非’\0’字符的复制
s1[i]=s2[i];
 s1[i]=s2[i];     
cout<<s1;
}
 
下列程序的功能是求两个浮点数之差,在下面横线处填上cha函数的原型声明、调用方法。
#include <iostream>
using namespace std;
void main( )
{
float a,b;
 float cha(float,float)     
a=12.5;b=6.5;
float c =  cha(a,b)     
    cout<<c<<endl;
}
float cha(float x,float y)
{
float w;w=x-y;return w;
}
 
在程序下划线处填上缺少的程序部分,源程序如下:
#include <iostream>
using namespace std;
template < class T      >
T fun(T x)
{
       T     y;
    y=x*x-T(5);
     return y;
}
void main()
{
    float a=2;
    cout<<fun(a);
}
 
在下面横线处填上适当内容,完成类中成员函数的定义。
class A
{   int  *a;
int n;
public:
A(int nn=0):n(nn)
{ if(n==0)  
a=0;
else
a=new int[n];
}
 ~A( ){delete a;      //定义析构函数,释放动态数组空间
};
 
以下程序是定义一个累加器类sumA,对其重载运算符“+”,请填空。
class sumA
{ private: int n;
public:
sumA() {n=0;}
sumA(int i) {n=i;}
 sumA operator + (sumA a)          //运算符重载函数
{ sumA t;
t.n=n+a.n;
 return t;       //函数返回
}
void disp()
{ cout<<"n="<<n<<endl;
}
};
void main()
{ sumA k1(7),k2(27),k3;
k3=k1+k2;
k1.disp(); k2.disp(); k3.disp();
}
 
写出下列程序的运行结果:
#include <iostream>
using namespace std;
class FunArray
{
int *pa;   // 指向一个数组空间
int size;   //数组元素个数
  public:
FunArry(int a[], int thesize):pa(a), size(thesize){  }
int Size( ) { return size; }
int& operator[ ] (int index) {return pa[index-1]; }
};
void main( )
{
int s[]={1,3,5,7,9};
FunArray ma(s, sizeof(s)/sizeof(int));
ma[3]=11;
for (int i=1; i<=ma.Size( ); i++) cout<<ma[i]<<’,’;
}
答:1,3,11,7,9,
 
写出下列程序的运行结果:
#include <iostream>
using namespace std;
class A
{
  public:
A( ) {cout<<”A”; }
};
class B
{
  public:
B( ) {cout<<”B”; }
};
class C : public A
{ B b;
  public:
C( ) {cout<<”C”; }
};
void main( )
{ C obj;
}
答:ABC
 
写出下列程序的运行结果:
#include <iostream>
using namespace std;
class MyClass
{
  public:
int number;
void set(int i);
};
int number=3;
void MyClass::set (int i)
{ number=i;
}
void main( )
{ MyClass my1;
int number=10;
my1.set(5);
cout<<my1.number<<endl;
my1.set(number);
cout<<my1.number<<endl;
my1.set(::number);
cout<<my1.number<<endl;
}
答:5
10
社会工作
3
 
编程实现:输入一个 n*n 的矩阵,求出两条对角线元素值之和。
答:#include <iostream>
using namespace std;
int main( )
日语
{ int n =0;
  int **array;
  int sum = 0;
  cout<<"input num:"<<endl;
  cin>>n;
  array = new int*[n];
  for(int k =0; k<n; k++)
  { array[k] = new int[n];  
生物工程
  }
for(int i = 0; i<n;i++)
  { for(int j = 0; j<n;j++)
   { cin>>array[i][j];  
   }
  }
  for(i = 0; i<n; i++)
湖南农业大学
  { sum+=array[i][i]+ array[i][n-i-1];
  }
  cout<<sum<<endl;
return 0;
}
 
定义一个Point类,派生出矩形Rectangle类,并增加一函数Area()计算矩形的面积。不要求定义测试类。
答:    #include <iostream>
学士学位
using namespace std;
class Point
自考费用
{
  public:
Point(float ax , float ay)
{ x=ax;  y=ay;  }
长线
  private:
float x;
float y;
};
class Rectangle : public Point
{
  public:
Rectangle (float ax, float ay, float w, float h);
float Area( )
{   return width*high; }
  private:
园林
float width;
float high;
};
Rectangle:: Rectangle (float ax, float ay, float w, float h) : Point(ax, ay)
{ width=w;
畜牧兽医
high=h;

TAG标签