C++考试试题重点 下载本文

内容发布更新时间 : 2024/5/22 23:54:05星期一 下面是文章的全部内容请认真阅读。

Rectangle(int width,int length); ~Rectangle(){}

int GetWidth()const{return m_width;} int GetLength(){return m_length;} private:

int m_width; int m_length; };

Rectangle::Rectangle() {

m_width=5; m_length=10; }

Rectangle::Rectangle(int width,int length) {

m_width=width; m_length=length; }

int main() {

Rectangle rect1;

cout<<\:\cout<<\:\int a,b;

cout<<\:\cin>>a;

cout<<\:\cin>>b;

Rectangle rect2(a,b);

cout<<\:\cout<<\:\return 0; } 4.

#include class Cdate {

int year,month,day; int y1,m1,d1; public: void setdate(int y,int m,int d){year=y;month=m;day=d;}

void show() {cout<<\当前日期: \ cout<<\两天后日期:\ }

void datetwo() //加一天后的年月日

{

d1=day;y1=year;m1=month;

for(int i=0;i<2;i++) { d1++; switch(d1) {case 29:if(!(month==2 &&(year@0==0||year%4==0&&year0!=0))) {m1=3;d1=1;};break; case 30:if(month==2 &&(year@0==0||year%4==0&&year0!=0)) {m1=3;d1=1;};break; case 31:if(month==4||month==6||month==9||month==11) {m1=m1+1;d1=1;};break; case 32: m1=m1+1;d1=1;if(month==12){y1=y1+1;m1=1;};break; } } } };

void main() {

Cdate d; int y,m,d1;

cout<<\请输入年月日: \cin>>y>>m>>d1; d.setdate(y,m,d1); //加一天 d.setdate(y,m,d1); //再加一天 d.datetwo(); d.show(); }

5.程序如下: int f(int a[],int n){

if(n==1)return a[0]*a[0];

else return a[n-1]*a[n-1]+f(a,n-1); }

6.程序如下: int AA::Sum(){ int sum=0;

for(int i=0;i

#include #include #include class base //定义一个基类 {protected:

char name[20]; //姓名 char sex[3]; //性别 int age; //年龄 ? };

class teacher:public base

//基类派生出教师类

{ int sno; char zc[20]; double wages; ? };

class student :public base { int sno; char bj[10]; char zy[10]; double score;

?

//工号 //工资

//职称

//基类派生出学生类

//学号 //班级 //专业 //入学成绩

}; 8.

class Shape{ public:

virtual float area()=0; };

float total(Shape *s[],int n) {

float sum=0.0; for(int i=0;iarea(); return sum; }

class Triangle:public Shape {

public:

Triangle(double h,double w){H=h;W=w;} double area() const{return H*W*0.5;} private:

double H,W; };

class Rectangle:public Shape {

public:

Rectangle(double h,double w){H=h;W=w;} double area()const{return H*W;} private:

double H,W; }; 9.

#include class Shape {

public:

virtual double GetArea()=0; };

class Circle:public Shape {

double radius; public:

Circle(double r):radius(r){}

double GetArea(){return 3.1416*radius*radius;} };

class Square:public Rectangle {

public:

Square(double l):Rectangle(l,l){} };

int main() {

Rectangle r(3.5,4.0); Circle c(2.0); Square s(5.0);

cout<

一、选择题

1、类的实例化是指( C )。

A、定义类 B、指明具体类 C、创建类的对象 D、调用类的成员 2、关于类和对象的说法不正确的是( B )。

A、对象是类的一个实例 B、一个类只能有一个对象

C、一个对象只属于一个具体类 D、类与对象的关系和数据类型与变量的关系相似 3、下面说法正确的是( B )。

A、内置函数在运行时是将该函数的目标代码插入每个调用该函数的地方 B、内置函数在编译时是将该函数的目标代码插入每个调用该函数的地方 C、类的内置函数必须在类体内定义

D、类的内置函数必须在类体外通过加关键字inline定义 4、对于任意一个类,析构函数的个数最多为( A )。

A、1 B、2 C、和构造函数个数一样 D、任意多个 5、在下面的类定义中,错误的语句是( D )。 class sample {public:

sample(int val);//(1) ~sample( ); //(2) private:

int a=2.5;//(3) sample( );//(4) }; A、(1)(2)(3)(4) B、(1)(2)(3) C、(2) D、(3) 6、有关构造函数的说法不正确的是( D )。

A、构造函数名字和类的名字一样B、构造函数在定义类变量时自动执行C、构造函数无任何函数类型D、构造函数有且只有一个 7、不属于成员函数的是( B )。

A、静态成员函数 B、友元函数 C、构造函数 D、析构函数 8、已知类A是类B的友元,类B是类C的友元,则( D )。

A、类A一定是类C的友元 B、类C一定是类A的友元

C、类C的成员函数可以访问类B的对象的任何成员 D、类A的成员函数可以访问类B的对象的任何成员

9、在建立类对象时( A )。

A、只为每个对象分配用于保存数据成员的内存 B、只为每个对象分配用于保存函数员的内存

C、为所有对象的数据成员和函数成员分配一个共享的内存 D、为每个对象的数据成员和函数成员同时分配不同的内存 10、下列说法错误的是( B )。

A、封装是将一组数据和这组数据有关的操作组装在一起 B、封装使对象之间不需要确定接口

C、封装要求对象应具有明确的功能 D、封装使得一个对象可以像一个部件一样用在各种程序中

11、要禁止修改指针p本身,也要禁止修改p所指向的数据,这样的指针应定义为( D )。 A、const char *p=”abcd”; B、char const *p=”abcd”; C、char *const p=”abcd”; D、