| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2780 人关注过本帖
标题:一段程序出错,求改正
只看楼主 加入收藏
程序猿新手
Rank: 2
等 级:论坛游民
威 望:3
帖 子:11
专家分:32
注 册:2017-5-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
一段程序出错,求改正
程序代码:
#include <iostream>
#include <string>
using namespace std;
class Teacher
{public:
    Teacher(string nam,int a,string t)
    {name=nam;
     age=a;
     title=t;
    }
    void display()
    {
        cout<<"name:"<<name<<endl;
        cout<<"age:"<<age<<endl;
        cout<<"title:"<<title<<endl;
    }

 protected:
    string name;
    int age;
    string title;
};
class Student
{public:
     Student(char nam[],char s,float sco)
        {strcpy(name1,nam);
         sex=s;
         score=sco;
        }
    void display1()
        {cout<<"name:"<<name1<<endl;
         cout<<"sex:"<<sex<<endl;
         cout<<"score:"<<score<<endl; 
        }
protected:
    string name1;
    char sex;
    float score;
};
class Graduate:public Teacher,public Student
{public:
Graduate(string nam,int a,char s,string t,float sco,float w):
        Teacher(nam,a,t),Student(nam,s,sco),wage(w){}
    void show()
    {
        cout<<"name:"<<name<<endl;
        cout<<"age:"<<age<<endl;
        cout<<"sex:"<<sex<<endl;
        cout<<"score:"<<score<<endl;
        cout<<"title:"<<title<<endl;
        cout<<"wages:"<<wages<<endl;
    }
private:
    float wage;
};
int main()
{
    Graduate grad1("Wang-Li",24,'f',"assistant",89.5,1200);
    grad1.show();
    return 0;
}

程序代码:
C:\Users\SAMSUNG\Desktop\.....cpp    In constructor 'Student::Student(char*, char, float)':
26    20    C:\Users\SAMSUNG\Desktop\.....cpp    [Error] 'strcpy' was not declared in this scope
C:\Users\SAMSUNG\Desktop\.....cpp    In constructor 'Graduate::Graduate(std::string, int, char, std::string, float, float)':
43    45    C:\Users\SAMSUNG\Desktop\.....cpp    [Error] no matching function for call to 'Student::Student(std::string&, char&, float&)'
43    45    C:\Users\SAMSUNG\Desktop\.....cpp    [Note] candidates are:
25    3    C:\Users\SAMSUNG\Desktop\.....cpp    [Note] Student::Student(char*, char, float)
25    3    C:\Users\SAMSUNG\Desktop\.....cpp    [Note] no known conversion for argument 1 from 'std::string {aka std::basic_string<char>}' to 'char*'
23    7    C:\Users\SAMSUNG\Desktop\.....cpp    [Note] Student::Student(const Student&)
23    7    C:\Users\SAMSUNG\Desktop\.....cpp    [Note] candidate expects 1 argument, 3 provided
C:\Users\SAMSUNG\Desktop\.....cpp    In member function 'void Graduate::show()':
51    22    C:\Users\SAMSUNG\Desktop\.....cpp    [Error] 'wages' was not declared in this scope
搜索更多相关主题的帖子: title display 
2017-06-19 12:26
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
你要是使用加加来写代码

就应该避免c所特有的一些元素 比如 char*

 Student(char nam[],char s,float sco)  char* 和加加里的string 并不通用

DO IT YOURSELF !
2017-06-19 13:49
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
诸如strcpy 也不是加加里的东东

DO IT YOURSELF !
2017-06-19 13:51
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:5 
wage or wages
2017-06-19 17:49
程序猿新手
Rank: 2
等 级:论坛游民
威 望:3
帖 子:11
专家分:32
注 册:2017-5-22
收藏
得分:0 
回复 楼主 程序猿新手
谢谢层主,我再看看
2017-06-19 22:02
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
收藏
得分:0 
C和C++有些东西不兼容。
#include <string.h> 在c++中,是指标准化以前的标准c库中的字char*字符串处理函数
#include <string>中在1988年标准化以后,c++中含的STL的string容器
#include <cstring> 是在1988年标准化以后,<string.h>的演变。
总之你记住一句话:<string>与<string.h>是完全不同的两个东西。
2017-06-20 21:08
快速回复:一段程序出错,求改正
数据加载中...
 
   



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

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