标题:一起来写程序共同进步持序发贴今天我们一起来写继承类 顺便换头像
取消只看楼主
我是RMB帅哥
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-1-6
结帖率:100%
 问题点数:0 回复次数:3 
一起来写程序共同进步持序发贴今天我们一起来写继承类 顺便换头像
程序代码:
#include<iostream>
#include<string>
using namespace std;
class Room;

class Student{               //学生类
private :
    int number;
    string name;
    int roomnumber;
public:
    void set(int a,string c){number=a;name=c;}
    int getnumber(){return number;}
    string getname(){return name;}
    void setroomnumber(Room&);
    int getroomnumber();
};

class Room{                    //寝室类
protected:                     //定义成保护类型,只让它的派生类可以访问,其它类不能访问数据成员   
    int kind;
    Student information;
public:

    void setkind(int a);
    int getkind();
    void instudent(Student &c);
    Student readstudent();
    friend void Student::setroomnumber(Room&);
};

//我们准备搞个高级寝室类 继承寝室类
class Senioroom:public Room{
private:
       string Roomkind;

public :
       //...........
};

int  Student::getroomnumber(){              //取得学生所在房间信息
       return roomnumber;
}
void Student::setroomnumber(Room&r){        //将房间信息传送到学生信息块
       roomnumber=r.kind;             
}

void Room::instudent(Student &c){   //将学生信息录入房间
       information=c;
}

Student Room::readstudent(){      //取得房间学生信息
      return information;
}
void  Room::setkind(int a){       //设置房间号
        kind=a;
}
int Room::getkind(){            //取得房间号
return kind;
}

void main(){
      string studentname;
      int studentnumber;
      getline(cin,studentname,'\n');
      cin>>studentnumber;                   //输入学生信息
     
      Student a;
       a.set(studentnumber,studentname);   //将学生信息录入

     Room room;
      room.instudent(a);
       room.setkind(235);
        a.setroomnumber(room);              //将房间信息传入到学生类中去
         cout<<"学生房间号码:"<<a.getroomnumber()<<endl; 
          Student stu=room.readstudent();         //将房间学生信息读出
           cout<<stu.getname()<<endl<<stu.getnumber()<<endl;
              

}



我现凭着记忆写点继承类的一些知识总结,希望能多容纳一些知识在这个程序里面。
1.首先我们称Room类为基类(父类),Seniorroom为派生类(子类)。
2.子类可以继承父类的成员,但是不能访问父类的私有成员。
3.如果是protected型成员就会有两种特性,对于子类seniorroom它是public类型,可以访问。对于不是Room的子类它就是私有的。

class Senioroom:public Room{      //这里我们继承的是公有的Room类
private:
       string Roomkind;
 
public :
       //...........
};
这继承公有类和私有类是有规则的。(protected类型我记不住了)
当继承是私有类时:
1.我们的子类不能访问父类的私有变量
2.子类继承父类的公有变量时,在子类里它会变成私有变量。

上两天班回来我接着来写....

[ 本帖最后由 我是RMB帅哥 于 2013-1-11 00:52 编辑 ]
搜索更多相关主题的帖子: 继承 number color 
2013-01-07 01:47
我是RMB帅哥
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-1-6
得分:0 
回复 4楼 bccn294593
从数据流中读取数据 到 第二个参数

一起来学习编程 JAVA C++ C 数据结构 进群号20789138
2013-01-09 01:15
我是RMB帅哥
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-1-6
得分:0 
   friend void Student::setroomnumber(Room&);友元函数  
  将我们学生入住房间信息传递到学生类中
   

一起来学习编程 JAVA C++ C 数据结构 进群号20789138
2013-01-09 16:26
我是RMB帅哥
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-1-6
得分:0 
大家好啊看看今天 天气一天大好 明天要上班哦 今天赶快发贴 哈哈 

一起来学习编程 JAVA C++ C 数据结构 进群号20789138
2013-01-10 16:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-395434-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.361364 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved