C++ 类和对象相关习题,急求

某学校实现进出校园的车辆管理,试用类的形式记录车辆的进出(类名为CampusAutos)。有车进来时用new的方法构建一个新的对象,记录它的牌照(8个字符的字符串,licensetag),离开校园时即析构。在main()中设一循环,每次可以输入车辆进入及牌照号或某牌照号的车辆出去(校园内限N辆,暂设为5),同时报告校园内现有多少辆汽车及它们的牌照号。(用对象指针数组)

注意:程序中要实现数组溢出保护(车位已满)、牌照输入错误(超8个字符)和查询失败报告(无此牌照)。
谢谢!!!

要求有点别扭~

随便写了一个,没完全按照你的要求,当参考吧,不对的地方再改改~

#include <iostream>

#include<string>

using namespace std;

class CampusAutos

{

    private:

        string licens;

        static const int max;

        static int  num;

    public:

        CampusAutos()

        {

            licens = "0";

        }

    static  void find(CampusAutos car[],string s)

        {

            int  i;

            for(i=0;i<max;i++)

            {

                if(car[i].licens != s)

                continue;

                if(car[i].licens ==s)

                {

                    num--;

                    car[i].licens = "0";

                    break;

                }

               cout<<"input erro,find no number "<<endl; exit(0);

            }

        }

      void  inrecord(CampusAutos car[],string licens)

      {

          if (licens.length() > 8)

          {

            cout<<"input erro"<<endl;

             exit(0);

          }

          else

          this->licens = licens;

          if(num>=max)

         { cout<<"full"<<endl;  show( car);exit(0);}

          else

          num++;

      }

static void show( CampusAutos car[])

{

    int i;

  cout<<"车辆的数目是:"<<num<<endl;

  cout<<"在库车辆分别是:"<<endl;

  for(i=0;i<max;i++)

  if(car[i].licens != "0")

  cout<<car[i].licens<<"\t";

}

};

const int CampusAutos::max = 5;

int CampusAutos::num = 0;

int main()

{

     int i,select;

    CampusAutos *car = new CampusAutos [500];

    cout<<"please input the number that your want to do:"<<endl;

    cout<<"***********************************"<<endl;

    cout<<"     ***0:退出系统***"<<endl;

    cout<<"     ***1:车辆进入***"<<endl;

    cout<<"     ***2:车辆驶出***"<<endl;

    cout<<"***********************************"<<endl;

    while(cin>>select)

    {

        switch(select)

        {

            case 0:

            cout<<"!!!"<<endl;

            return 0;

            case 1:

            cout<<"输入车牌号,输入0表示驶入车辆输入结束"<<endl;

            for(i=0; ;i++)

            {

                string licens;

                cin>>licens;

                if(licens =="0")

                break;

                    else

                {

                    car[i].inrecord(car,licens);

                }

            }

            break;

            case 2:

            cout<<"输入驶出的车辆车牌号"<<endl;

            string str;

            cin>>str;

            CampusAutos::find(car,str);

            break;

 }

  CampusAutos::show(car);

  cout<<"\n请输入你要选择的功能键(0---2)"<<endl;

}

}

温馨提示:内容为网友见解,仅供参考
无其他回答

一个C++的题目!急救啊!!会我或者发我邮箱 645267152@qq.com在线等答案...
include <iostream> using namespace std;class IntChecker { public:IntChecker( );void Check( int i );void Show( );private:int negativeCount;int positiveCount;int zeroCount;};IntChecker::IntChecker( ): negativeCount( 0 ), positiveCount( 0 ), zeroCount( 0 ){ } void IntChecker...

跪求C++练习题 谢谢!!!
1、C++对C语言作了很多改进,下列描述中( D )使得C语言发生了质变,从面向过程变成了面向对象。A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型;D、引进了类和对象的概念;2、下列描述中,( )是错误的。A、内联函数主要解决程序的运行效率问题;B...

c++经典面试题及答案
struct成员默认访问权限为public,而class成员默认访问权限为private 2. 析构函数和虚函数的用法和作用 析构函数是在对象生存期结束时自动调用的函数,用来释放在构造函数分配的内存。虚函数是指被关键字virtual说明的函数,作用是使用C++语言的多态特性 3. 全局变量和局部变量有什么区别?是怎么实现的?操作...

面向对象程序设计C++复习题
类的每个对象都有自己的静态数据成员 C. 类的不同对象有不同的静态数据成员值 D. 静态数据成员不能通过类的对象调用 7.在VC++语言类体系中,不能被派生类继承的有( B ) A. 转换函数 B. 构造函数 C. 虚函数 D. 静态成员函数 8.下面关于句柄正确的说法是( A ) A. 句柄是一个标识Windows资源和设备等...

C++类 的问题
1.类就是对一个事物抽象出来的结果。封装,指两方面含义,一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便于外界联系,接受外界信息。2.类是面向对象程序设计的核心,它实际是...

C++编程序题:(一)定义一个圆类XY,计算圆的面积和周长(). 要求:1.该...
\/\/类定义结束 int main() \/\/主函数{double t; \/\/双精度变量 XY O; \/\/XY类对象 printf("请输入半径:"); \/\/提示输入半径 scanf("%lf",&t); \/\/从键盘接受半径大小 O.Set(t); \/\/以t的值设置对象O的半径 t=O.Grith(); ...

在C++编程里面,什么叫做面向对象、类、封装、继承、消息、多态性?请具...
对象就是 生活中的具体的东西(如电视机,飞机,...哎,世界是物质的啊),类就是(东西)的设计图纸或模板,就是画了个图还没开始生产,定义对象是就开始生产对象(东西)了。封装就是找个东西把代码包起来,不让人看到,这是类该干的活啊,如果想看到的话,请开个偷窥孔,public这家伙不地道啊...

C++期末练习题~~~
第 9 ,10 题 其他题答案统一,且有正确的解释 9 B 类成员默认访问属性为 private,构造函数的可以为private成员,类定义中 成员变量是不可以被初始化的 10 c 构造函数是可以被重载的

C++上的一些运算符顺序的问题:我是C++初学者,对运算符顺序不是很了解...
1.必要性逻辑:C++是一门几乎理论上完美的语言,创造它的人是理论和实践的顶级牛人,那么,所有运算符的逻辑顺序必须是往最合理的那个方向去思考:怎样才最符合严谨的语法和使用?比如你提到的*(p+2)**(w+3), 你会发现,这种语法初看奇怪,实际上必须是左右都是【指针解引用】后再相乘。否则没有...

C和C++中面向过程和面向对象的程序设计怎么形象的理解?
面向对象的是以类\/对象为单位,典型的是类 面向对象是对面向过程的发展,它通过类把相关的数据和操作捆绑在一起的 简单的说一下吧 如果你要做个航空系统的网站,如乘客这里,用面向对象的思想,你把所有乘客的属性,方法等全部写出来,不管项目是否需要这些功能。而面向过程是你想到哪里属性方法就写哪些...

相似回答