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

在主函数中给类中的字符串类型对象赋值出现问题

日寂 发布于 2014-03-29 21:46, 631 次点击
程序代码:
//这是类部分:
class Student
{
    private:
        string name;
        char sex;
        int ID;
        int num;
        int score;
    public:
        Student(){name="zero";sex=0;ID=0;num=0;score=0;}
        Student(string na,char s,int i,int n,int sc):name(na),sex(s),ID(i),num(n),score(sc){}
        void change(Teacher &t);
        void display();
        friend Teacher;
};

//这是主函数部分:
Student s1("zhangli","m",46003199209090033,2013011140,88),s2;
7 回复
#2
yuccn2014-03-30 13:35
Student s1("zhangli","m",46003199209090033,2013011140,88);

Student s1("zhangli",'m',46003199209090033,2013011140,88)
#3
日寂2014-03-30 14:33
回复 2楼 yuccn
原来如此,但是为什么编译器提示"zhangli"出现错误修改后面的"m"就能变得正确呢?
#4
天使梦魔2014-03-30 22:24
因为爱情














前面是结婚后,后面是结婚前
#5
wp2319572014-03-30 22:28
你定义的就是cHAR
而“m”  则是 cHAR*
#6
Andrew_Lee2014-03-31 15:41
46003199209090033最好用long int ,,直接用int 会溢出
#7
rjsp2014-03-31 16:33
以下是引用Andrew_Lee在2014-3-31 15:41:07的发言:

46003199209090033最好用long int ,,直接用int 会溢出

46003199209090033 至少需要 56bits
C/C++没有规定long长度大于56bits,也没有规定int长度小于56bits。
按标准应该用<stdint>中的 int64_t 等等
#8
日寂2014-04-03 10:54
回复 5楼 wp231957
原来如此 多谢
1