| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 454 人关注过本帖
标题:关于string类型的问题,在构造Employee类时的错误不明白
只看楼主 加入收藏
zoufengrui
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-12-19
结帖率:0
收藏
已结贴  问题点数:10 回复次数:7 
关于string类型的问题,在构造Employee类时的错误不明白
#include<iostream>
#include<cstring>
using namespace std;
class Employee{
public:
    Employee(string* Name,string* City,string* Address,string* Postcode){
        strcpy(Name,N);
        strcpy(Address,A);
        strcpy(City,C);
        strcpy(Postcode,P);;
    ~Employee(){};
    void display(){};
    void chang_name(string* Name,string* City,string* Address,string* Postcode){};
private:
    string Name;
    string City;
    string Address;
    char Postcode;
};
void Employee::display(){
    cout<<"Name:  "<<Name<<"    City:  "<<City<<"    Address:  "<<    Postcode:  "<<endl;
}
void Employee::chang_name(string Name,string City,string Address,string Postcode){
    cout<<"Please enter the name:"<<endl;
    cin>>Name;
    cout<<"Please enter the city:"<<endl;
    cin>>City;
    cout<<"Please enter the address:"<<endl;
    cin>>Address;
    cout<<"Please enter the postcode:"<<endl;
}
int main(){
    int i;
    Employee *people=new Employee[5];
    for(i=0;i<6;i++){
        cout<<"Please inter the "<<(i+1)<<"'s information"<<endl;
        Employee[i].change_name();
    }
    for(i=;i<6;i++){
        cout<<"the result is:"<<endl;
        Employee[i].display();
    }
    return 0;
}
机器在编译时在display()函数处报错,说是newline in constant,这是什么情况??还有,我这样写程序可以么???
搜索更多相关主题的帖子: void private display include 
2012-12-24 16:56
zoufengrui
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-12-19
收藏
得分:0 
嗯嗯嗯,错了,是
#include<iostream>
#include<cstring>
using namespace std;
class Employee{
public:
    Employee(string* Name,string* City,string* Address,string* Postcode){
        strcpy(Name,N);
        strcpy(Address,A);
        strcpy(City,C);
        strcpy(Postcode,P);;
    ~Employee(){};
    void display(){};
    void chang_name(string* Name,string* City,string* Address,string* Postcode){};
private:
    string Name;
    string City;
    string Address;
    char Postcode;
};
void Employee::display(){
    cout<<"Name:  "<<Name<<"    City:  "<<City<<"    Address:  "<<"    Postcode:  "<<endl;
}
void Employee::chang_name(string Name,string City,string Address,string Postcode){
    cout<<"Please enter the name:"<<endl;
    cin>>Name;
    cout<<"Please enter the city:"<<endl;
    cin>>City;
    cout<<"Please enter the address:"<<endl;
    cin>>Address;
    cout<<"Please enter the postcode:"<<endl;
}
int main(){
    int i;
    Employee *people=new Employee[5];
    for(i=0;i<6;i++){
        cout<<"Please inter the "<<(i+1)<<"'s information"<<endl;
        Employee[i].change_name();
    }
    for(i=;i<6;i++){
        cout<<"the result is:"<<endl;
        Employee[i].display();
    }
    return 0;
}
这里报错::
 error C2664: 'strcpy' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'char *'
2012-12-24 17:08
zoufengrui
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-12-19
收藏
得分:0 
补充一下,是在实现函数display()时报错的
2012-12-24 17:10
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:10 
Postcode:  "<<endl;

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-12-24 17:18
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
你这里面错误很多,慢慢改吧

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-12-24 17:18
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
回复 3楼 zoufengrui
为什么要用指针呢,唉...

extern char *strcpy(char *dest,const char *src);
std::string的实现不是拿char*实现的
cstring才是

[ 本帖最后由 peach5460 于 2012-12-24 17:29 编辑 ]

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-12-24 17:27
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
Employee *people=new Employee[5];

这句是new不出来的,没有无参构造

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-12-24 17:28
zoufengrui
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-12-19
收藏
得分:0 
能不能帮忙写个用string 类型的成果程序,我已经纠结了一晚上了,其他方法我是做出来了 ,我主要是想看看string类的用法
2012-12-24 21:08
快速回复:关于string类型的问题,在构造Employee类时的错误不明白
数据加载中...
 
   



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

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