以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  求救!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=63088)


--  作者:yueying335
--  发布时间:5/27/2008 9:14:00 AM

--  求救!
某一书类的层次结构如下,请将空白处填以适当的C++语言成分。
    
      #include<iostream.h >
      #include<string.h>
      class Book{
            char bookname[24]; //书名
            char author[20];   //著者
public:
          Book(char*p=””,char*q=””)
            {strcpy(bookname,p);strcpy(author,q);}
           

     { strcpy(bookname, x. bookname) ;strcpy(author,x.author);}      void print();
};
class Series::public Book{
      char sername[ 24]   //系列名
      int volume;   //卷数
  public :
      Series(char*p=””,char*q=””,char*sn=””,int v=0)

    :

Series(book x,char sn=””,intv=0)
3

      void print();
  };
  void Book::print()

Cout<<”书名:”<<bookname<<endl;
        cout<<”著者:”<<author<<endl;
  }
  void Series:: print( )
  {
       Book::print(  )
       Cout<<”系列名:”<<sername<<”弟”<<colume<<”卷\n”;
}
应用程序:
    #include”series.hpp”
    void main(void)
  {
       Book a(“现代日语听力教程”,”张基温”);
4
          Series b

         b.print();
}
5.1.4有如下表示国家(Country)   中东地区(Middle East)     海湾(GULF)国家的类层次结构.在空白处填上适当的C++成分。
#include<iostream.h>
      #include<string.h>
      class Country{

        

            char name [ 20];//国名
            char capital[ 20〕;//首都
          public:
              Country (char *n,char* cap);
              void print();
      };
2                                  
{    //中东地区
          char people[20];//民族
            int percent;//百分比
          public:
               MiddleEast(char * n,char *cap *pp,int pr);
            void print();
    };
  
3
{海湾国家
          int oil;            //原油产量
        public:
              Gulf (char * n=””,char * cap=””,
                        Char*pp=””,int pr=0,int ol=0);
          void print();
    };
  Country::Country(char * n=””,char * cap=””)
    {    strcpy( name,n);strcpy( capital,cap);}
    void Country::print()
    {
      Cout<<”国名;”<<name<<”,首都:”<<capital<<endl;
}
   MiddleEast::MiddleEast(char *n=””,char * cap=””,char *pp=””,int pr=0)
4
:

Void  MiddleEast::print(  )
{
   Cout<<”国家:”<<name<<”,首都:”<<capital<<end1;
   Cout<<”民族;”<<people<<””<<percent<<”%\n”;
}
Gulf ::Gulf(char * n=””,char * cap=””,char * pp=””,int pr=0,int ol=0)
5
:

Void Gulf ::print(  )
{
   Cout<<”国名:”<<name<<”,首都:”<<capital<<end1;
   Cout<<”民族:”<<people<<””<<percent<<”%\n”;
  Cout<<”原油生产量:”<<oil<<”万桶\n”;
5.1.5对于类结构
Class student {
Public:
     int studentId;
     float gpa;
     char college[20];
   char name[20];
   enum{fresh,soph,junior,senior,grad}year;
   char major[20];
void print(  );
};
Class GradStudent:student{
Public:
  enum{ta,a,fellowship,other}support;
  Char dept[15];
Char thesis[90];
Void print( );
};
下面的代码中有什么错误?
//…
Main( )
{
  GradStudent s;
  Strcpy(s.name,”zhang3”);


--  作者:yueying335
--  发布时间:5/27/2008 9:15:00 AM

--  
改正1楼的类层次结构代码中的错误,解释下述各语句的作用:
(1)((GradStudent *)pa)->print(  );
(2)((Student *)pgs)->print(  );
(3)pgs->student::print(  );
(4)pa->GradStudent::print(  );

W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms