注册 登录
编程论坛 C++教室

请帮助,谢谢

longyou2011 发布于 2011-03-26 11:27, 414 次点击
#include <iostream.h>
#include < stdlib.h >
class Student
{
    int no ;
    char  name [20] ;
    int deg ;
    char cname [20] ;
public :
    Student () {}
    Student ( int n , char na [] , int d , char cn [] ) {}
    void disp () { }
    ~Student () { }
} ;
class body :  Student
{
    int English ;
    int Chinese ;
public :
    body () { }
    void deg ( int E , int C ) { }
    void disp () { }
    ~body () { }
} ;
void Student :: Student ( int n , char na  , int d , char cn  )
{
    no = n ;
    strcpy ( name , na ) ;
    deg = d ;
    strcpy ( cname , cn ) ;
    return  ;
}
void Student :: disp ()
{
    cout << " no " << no << " name " << name << " deg " << deg << " cname " << cname << endl ;
}
void body :: deg ( int E , int C )
{
    English = E ;
    Chinese = C ;
}
void body :: disp ()
{
    cout << " 总成绩 " << English + Chinese << endl ;
}
void main ( )
{
    body A ( 1 , " 李民航 " , 64 , 33 ) ;
    A. disp () ;
    body B ( 33 , 33 ) ;
    B.disp () ;
}找一下错误的原因
3 回复
#2
qq10235692232011-03-26 11:49
你的意思是body是Student的基类,但你的程序看来两个类之间并没有任何的关联!
void main ( )
{
    body A ( 1 , " 李民航 " , 64 , 33 ) ;  //body类中并没有此构造函数,子类不能继承父类的构造函数(只有方法能继承过来),这个你得自己再写一个!
    A. disp () ;
    body B ( 33 , 33 ) ;
    B.disp () ;  //在body中重写了Student中的disp()方法,应该没有错!
} //我是学C#的,不知道是不是这样的!

[ 本帖最后由 qq1023569223 于 2011-3-26 11:50 编辑 ]
#3
玩出来的代码2011-03-26 11:58
基础错误,应该看书、
#4
xishui7772011-03-26 13:03
void Student :: Student ( int n , char na  , int d , char cn  )
{
    no = n ;
    strcpy ( name , na ) ;
    deg = d ;
    strcpy ( cname , cn ) ;
    return  ;
}
这句有问题
1