| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 607 人关注过本帖
标题:初学者关于类的错误,求指导!!
只看楼主 加入收藏
深蓝灬
Rank: 2
等 级:论坛游民
帖 子:29
专家分:22
注 册:2011-9-14
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:3 
初学者关于类的错误,求指导!!
题目:编写一个学生数据输入和显示程序,学生数据有编号、姓名、班号和成绩4项。要求将其中的编号、姓名和显示设计成一个类person,并作为学生数据操作类student的基类。试编写基类person和派生类student,并写出主程序运行它们。
#include<iostream.h>
class person
{
protected:
    long int number;
    char name[10];
public:
    person(int number,char name[10])
    {
      this->number=number;
      this->name=name;
    }
    show()
    {
      cout<<"姓名:"<<name<<endle
          <<"班号:"<<number<<endle;
    }
}
class student:public person
{
public:float score;
       int classnumber;
       student(score,classnumber)
       {
         this->score=score;
         this->classnumber=classnumber;
       }
       show()
       {
         cout<<"班号:"<<classnumber<<endle
             <<"成绩:"<<score<<endle;
       }
}
void main()
{
    student A(90,1):person(2010104105,"小于");
    A.person::show();
    A.student::show();
}
哪里有错误,用vc++6.0 编译通不过!!
搜索更多相关主题的帖子: 姓名 class include person public 
2011-12-27 19:59
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:7 
错误太多了,类不打分号结束,show函数没有返回参数应该定义为void,姓名使用std::string,而不用字符数组。
继承的意义你没有掌握。

#include <iostream>
#include <string>

class person
{
protected:
    long int number;
    std::string name;
public:
    person(int number, std::string name)
    {
        this->number = number;
        this->name = name;
    }
    void show()
    {
        std::cout<<"姓名:"<<name<< std::endl
            <<"班号:"<<number<< std::endl;
    }

}; //here

class student:public person
{
    float score;
    int classnumber;
public:
      
    student(int number, std::string name, float score, int classnumber)
        :person(number, name)
       {
         this->score=score;
         this->classnumber=classnumber;
       }
       void show() //here
       {
           person::show();
           std::cout<<"班号:"<<classnumber<<std::endl
               <<"成绩:"<<score<< std::endl;
       }
}; //here
void main()
{
    student A(2010104105,"小于", 90,1);//here,中文分号错
    A.show();
}

我们都在路上。。。。。
2011-12-28 11:22
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:7 
头文件包含不需要.h了,原因是在C++标准中很多旧的头文件都被标准化了,这样就可以使用一部固定的手册而不用担心你在使用哪一个编译器了。为了和旧的头文件有所不同,新的头文件去掉 了.h后缀。因此#include <iostream.h>现在成了#include < iostream>很多其他的头文件也是如此。

并且新的头文件包含在标准名空间(standard namespace)中。在新的头文件中的任何对象,如cout 和 endl 都能在名空间std中找到,也可以被独立的访问。

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-12-28 16:32
BianChengNan
Rank: 8Rank: 8
等 级:贵宾
威 望:13
帖 子:302
专家分:972
注 册:2011-11-30
收藏
得分:7 
以下是引用深蓝灬在2011-12-27 19:59:39的发言:

题目:编写一个学生数据输入和显示程序,学生数据有编号、姓名、班号和成绩4项。要求将其中的编号、姓名和显示设计成一个类person,并作为学生数据操作类student的基类。试编写基类person和派生类student,并写出主程序运行它们。
#include
class person
{
protected:
    long int number;
    char name[10];
public:
    person(int number,char name[10])
    {
      this->number=number;
      this->name=name;
    }
    show()
    {
      cout<<"姓名:"<
你应该先自己检查一下自己的代码.....

我的群:149544757 C/C++/Assembly 喜欢交流的朋友进,进群请写消息
2011-12-30 12:49
快速回复:初学者关于类的错误,求指导!!
数据加载中...
 
   



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

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