| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 231 人关注过本帖
标题:一段程序出错,求改正
只看楼主 收藏
程序猿新手
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:3
帖 子:10
专家分:12
注 册: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: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:354
帖 子:12059
专家分:47699
注 册: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: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:354
帖 子:12059
专家分:47699
注 册:2012-10-18
  得分:5 
诸如strcpy 也不是加加里的东东

DO IT YOURSELF !
2017-06-19 13:51
yangfrancis
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:105
帖 子:1309
专家分:6494
注 册:2014-5-19
  得分:5 
wage or wages
2017-06-19 17:49
程序猿新手
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:3
帖 子:10
专家分:12
注 册:2017-5-22
  得分:0 
回复 楼主 程序猿新手
谢谢层主,我再看看
2017-06-19 22:02
GBH1
Rank: 2
等 级:论坛游民
帖 子:21
专家分:83
注 册: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.053270 second(s), 8 queries.
Copyright©2004-2017, BCCN.NET, All Rights Reserved