| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 554 人关注过本帖, 1 人收藏
标题:我想请教一下,这个程序应该怎么改,才能得到正确的答案。
只看楼主 加入收藏
棉雨
Rank: 5Rank: 5
等 级:职业侠客
帖 子:174
专家分:368
注 册:2011-4-22
结帖率:78.26%
收藏(1)
已结贴  问题点数:20 回复次数:6 
我想请教一下,这个程序应该怎么改,才能得到正确的答案。
#include"iostream"
using namespace std;
class Student/*构造一个学生类*/
{
private:
    int num;
protected:
    char name[12];
    char sex;
    int age;
public:
    void display()
    {
        cout<<"学号:"<<num<<endl;
        
        cout<<"姓名:"<<name<<endl;
        
        cout<<"性别:"<<sex<<endl;
        
        cout<<"年龄:"<<age<<endl;
        
    }
    void Set_data()
    {
        cout<<"请输入学号:"<<endl;
        cin>>num;
        cout<<"请输入姓名:"<<endl;
        cin>>name;
        cout<<"请输入性别:"<<endl;
        cin>>sex;
        cout<<"请输入年龄:"<<endl;        
        cin>>age;
   
    }
};
class CollegeStudent:private Student/*私有继承学生类*/
{
private:
    char department[20];
    char speciafy[20];
public:
    void display1(CollegeStudent stu1)
    {
        stu1.display();
        cout<<"姓名:"<<name<<endl;
        cout<<"院系:"<<department<<endl;
        cout<<"专业:"<<speciafy<<endl;
    }
    void Set_data1(CollegeStudent &stu2)
    {
        stu2.Set_data();
        
        cout<<"请输入院系:"<<endl;
        cin>>department;
        cout<<"请输入专业:"<<endl;
        cin>>speciafy;
    }
};
void main()
{
    CollegeStudent stu;
    stu.Set_data1(stu);
    stu.display1(stu);
}
运行的时候,没有得到相应的结果。帮忙看一下,谢谢!!
搜索更多相关主题的帖子: 答案 姓名 
2011-04-24 17:09
dengjinbao
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:64
专家分:119
注 册:2011-3-22
收藏
得分:15 
程序代码:
#include"iostream"
using namespace std;
class Student/*构造一个学生类*/
{
private:
    int num;
protected:
    char name[12];
    char sex;
    int age;
public:
    void display()
    {
        cout<<"学号:"<<num<<endl;
       
        cout<<"姓名:"<<name<<endl;
       
        cout<<"性别:"<<sex<<endl;
       
        cout<<"年龄:"<<age<<endl;
       
    }
    void Set_data()
    {
        cout<<"请输入学号:"<<endl;
        cin>>num;
        cout<<"请输入姓名:"<<endl;
        cin>>name;
        cout<<"请输入性别:"<<endl;
        cin>>sex;
        cout<<"请输入年龄:"<<endl;       
        cin>>age;
   
    }
};
class CollegeStudent:public Student/*私有继承学生类*///把私有继承变成共有继承
{
private:
    char department[20];
    char speciafy[20];
public:
    void display1(CollegeStudent stu1)
    {
        stu1.display();
        cout<<"姓名:"<<name<<endl;
        cout<<"院系:"<<department<<endl;
        cout<<"专业:"<<speciafy<<endl;
    }
    void Set_data1(CollegeStudent &stu2)
    {
        stu2.Set_data();
       
        cout<<"请输入院系:"<<endl;
        cin>>department;
        cout<<"请输入专业:"<<endl;
        cin>>speciafy;
    }
};
void main()
{
    CollegeStudent stu;
    stu.Set_data1(stu);
    stu.display1(stu);
}
2011-04-24 21:07
mm1010220cs
Rank: 2
等 级:论坛游民
帖 子:36
专家分:98
注 册:2011-4-7
收藏
得分:5 
你的程序没问题,包含文件写成#include <iostream>
还有,你的性别定义成char字符变量个人感觉不是很好
2011-04-25 12:57
棉雨
Rank: 5Rank: 5
等 级:职业侠客
帖 子:174
专家分:368
注 册:2011-4-22
收藏
得分:0 
嗯嗯,后来我改成了跟名字一样的用字符数组。呵呵,谢谢你们。
2011-04-25 15:57
mm1010220cs
Rank: 2
等 级:论坛游民
帖 子:36
专家分:98
注 册:2011-4-7
收藏
得分:0 
回复 4楼 棉雨
那个加点分嘛,哈哈
2011-04-25 18:16
Noll_Nie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:139
注 册:2011-4-19
收藏
得分:0 
这里私有继承和公有继承好像并没有直观的显示啊?
结果怎么不对呢?
求解释!
2011-04-26 22:15
棉雨
Rank: 5Rank: 5
等 级:职业侠客
帖 子:174
专家分:368
注 册:2011-4-22
收藏
得分:0 
私有继承的访问权限是:公有成员和保护成员都是在派生类中访问,而在派生类外不能访问。私有成员在派生类内和派生类外都不能访问。在这个程序中,Set_data()和display()都是类Student的公有成员函数,故在派生类collegesudent中可以访问。若在派生类CollegeStudent外直接访问Set_data()和display(),运行时将会出错。比如在main()函数中写成main()
{CollegeStudent stu;
stu.Set_data();
stu.diaplay();
}.会出错。
上面的程序是正确的。运行的时候注意一下数据的输入就可以了。
2011-04-27 00:29
快速回复:我想请教一下,这个程序应该怎么改,才能得到正确的答案。
数据加载中...
 
   



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

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