标题:请问:错在那里了?
只看楼主
by_stro
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-8-6
结帖率:75%
已结贴  问题点数:15 回复次数:2 
请问:错在那里了?
程序代码:
/*
(3)已知个人信息类Cperson的数据成员有姓名、年龄、性别、学号;
从类Cperson派生班级类CClass类,新增加数据成员有年级、班号、人数、班主任。
设计一个主函数实现显示派生类的有关信息。
*/
#include <iostream>
#include <string.h>
using namespace std;
//已知个人信息类Cperson的数据成员有姓名、年龄、性别、学号;
class cperson
{
    private:
    char name[30],sex,number;
    double age;
    public:
    void set(char *n,double a,char s,char num)
    {
        strcpy(name,n);
        age=a;
        sex=s;
        number=num;
    }
    void display()
    {
        cout<<"name:"<<name<<",age:"<<age<<",sex:"<<sex<<",number:"<<number<<endl;
    }
};
//从类Cperson派生班级类CClass类,新增加数据成员有年级、班号、人数、班主任。
class cclass:public cperson
{
    private:
    char grade,class_,people,headmaster[30];
    public:
    void set(char *n,double a,char s,char num,char g,char c,char p,char *h)
    {
        cperson::set(*n,a,s,num);
        strcpy(headmaster,h);
        grade=g;
        class_=c;
        people=p;
    }
    void display()
    {
        cperson::display();
        cout<<"Grade:"<<grade<<",class:"<<class_<<",number of people:"<<people<<",headmaster:"<<headmaster<<endl;
    } 
};
void main()
{
    cclass p;
    p.set("Wang Ming",18,"f","12315","grade 2","class 8","110","Liang Dongqiang");
    p.display();
}

错误:
--------------------配置: vc6.0 - CUI Debug, 编译器类型: Microsoft C++ Compiler--------------------

检查文件依赖性...
正在编译 C:\Users\by_stro\Documents\C-Free\Temp\未命名2.cpp...
未命名2.cpp
[Error] C:\Users\by_stro\Documents\C-Free\Temp\未命名2.cpp:36: C2664: 'set' : cannot convert parameter 1 from 'char' to 'char *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
[Error] C:\Users\by_stro\Documents\C-Free\Temp\未命名2.cpp:51: C2664: 'set' : cannot convert parameter 3 from 'char [2]' to 'char'
        This conversion requires a reinterpret_cast, a C-style cast or function-style cast

构建中止 未命名2: 2 个错误, 0 个警告
搜索更多相关主题的帖子: 班主任 个人信息 color 姓名 
2013-12-30 22:26
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
得分:15 
p.set("Wang Ming",18,"f","12315","grade 2","class 8","110","Liang Dongqiang");
这个里面的很多实参都是char* 类型的 ,为什么你定义的都是char 这样传递当然不行,
2013-12-30 22:58
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
得分:0 
p.set("Wang Ming",18,"f","12315","grade 2","class 8","110","Liang Dongqiang");
这个里面的很多实参都是char* 类型的 ,为什么你定义的都是char 这样传递当然不行,
2013-12-30 22:59



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




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

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