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

求教哪里错了

山桀骜云轻狂 发布于 2015-10-12 19:51, 506 次点击
#include "stdio.h"
class Reader{
private:
  char Name;
  int ID;
  char Priority;
public:
    Reader(char* x="",int y=0,char* z=""){Name=*x;ID=y;Priority=*z;}
    char GetName(){return Name;}
    int  GetID(){return ID;}
    char GetPriority(){return Priority;}
};
void main()
{
    Reader reader1("小明",2014110131,"学生");
    printf("%c\n%ld\n%c\n",reader1.GetName(),reader1.GetID(),reader1.GetPriority());
}
结果是
?
2014110131
?
求教下哪里错了
8 回复
#2
hjx11202015-10-12 20:01
#include "stdio.h"
class Reader{
private:
  char Name;
  int ID;
  char Priority;
public:
    Reader(char* x="",int y=0,char* z=""){Name=*x;ID=y;Priority=*z;}
    char GetName(){return Name;}
    int  GetID(){return ID;}
    char GetPriority(){return Priority;}
};
void main()
{
    Reader reader1("小明",2014110131,"学生");
    printf("%c\n%ld\n%c\n",reader1.GetName(),reader1.GetID(),reader1.GetPriority());
}

PS:红色字体
#3
山桀骜云轻狂2015-10-12 20:17
回复 2楼 hjx1120
申明的有问题吗?
#4
hjx11202015-10-12 20:19
Reader reader1("小明",2014110131,"学生")


“小明”和“学生”一个单位够用嘛?
#5
山桀骜云轻狂2015-10-12 20:21
回复 4楼 hjx1120
哦哦  那我改成CString 的话还需要改动什么地方
#6
山桀骜云轻狂2015-10-12 20:23
回复 4楼 hjx1120
麻烦版主帮我改改我刚学
#7
hjx11202015-10-12 21:55
//reader.h
程序代码:
#ifndef READER_H_
#define READER_H_

class Reader{
private:
    std::string Name;
    std::string Priority;
    int Id;
public:
    Reader();
    Reader(const std::string & na, const std::string & pr, int id);
    ~Reader();
    void Show() const;
};
#endif
//reader.cpp
程序代码:
#include <iostream>
#include <string>
#include "reader.h"

Reader::Reader()
{
    Name = "";
    Priority = "";
    Id = 0;
}

Reader::Reader(const std::string & na, const std::string & pr, int id)
{
    Name = na;
    Priority = pr;
    Id = id;
}

Reader::~Reader()
{

}

void Reader::Show() const
{
    using std::cout;
    using std::endl;
    cout << "姓名:" << Name << endl;
    cout << "ID  :" << Id << endl;
    cout << "备注:" << Priority << endl;
}
//usread.cpp
程序代码:
#include <iostream>
#include "reader.h"

int main()
{
    Reader number_a("小明","学生",2014110131);
    number_a.Show();

    system("pause");
    return 0;
}
只有本站会员才能查看附件,请 登录

#8
山桀骜云轻狂2015-10-13 19:03
回复 7楼 hjx1120
谢谢版主
#9
thunder雷暴2015-10-15 20:30
#include "stdio.h"
class Reader{
private:
  char Name[10];
  int ID;
  char Priority[10];
public:
    Reader(char* x="",int y=0,char* z=""){Name=*x;ID=y;Priority=*z;}
    char GetName(){return Name;}
    int  GetID(){return ID;}
    char GetPriority(){return Priority;}
};
void main()
{
    Reader reader1("小明",2014110131,"学生");
    printf("%c\n%ld\n%c\n",reader1.GetName(),reader1.GetID(),reader1.GetPriority());
}要把Name/Priority定义成字符数组
1