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

类练习出现\main.cpp|8|undefined reference to `student::stuin()'问题怎么解决

Garfeild 发布于 2011-10-25 15:23, 2829 次点击
main.cpp

#include <iostream>
#include <string>
#include "student.h"
using namespace std;
int main()
{
    student stu;
    stu.stuin();
    stu.stuout();
    return 0;
}

student.cpp

#include "student.h"
void student::stuin()
{
    std::cout << "学号:" ;
    std::cin >> num;
    std::cout << "姓名:" ;
    std::cin >> name;
    std::cout << "性别:" ;
    std::cin >> sex;
    std::cout << "年级:" ;
    std::cin >> grade;
    std::cout << "电话:" ;
    std::cin >> tnum;
    std::cout << "************************" << std::endl;
}
void student::stuout()
{
    std::cout << "学号:" << num << std::endl ;
    std::cout << "姓名:" << name << std::endl ;
    std::cout << "性别:" << sex << std::endl ;
    std::cout << "年级:" << grade << std::endl ;
    std::cout << "电话:" << tnum << std::endl ;
}


student.h


#ifndef STUDENT_H_INCLUDED
#define STUDENT_H_INCLUDED
#endif  STUDENT_H_INCLUDED
class student
{
public:
    long num,tnum;
    std::string name,sex;
    int grade;
public:
    void stuin();
    void stuout();
};


求解求解!!!!!!!!!!!
8 回复
#2
jcw081201102011-10-25 16:44
#include "student.cpp"
在MAIN()前面加上
#3
Garfeild2011-10-25 21:37
回复 2楼 jcw08120110
老师说为保护代码不被查看,不能加include"student.cpp",源文件之间不用加这个
#4
nomify2011-10-25 22:53
main.cpp
程序代码:
#include "student.h"
using namespace std;
int main()
{
    student stu;
    stu.stuin();
    stu.stuout();
    return 0;
}


studend.h
程序代码:

#ifndef STUDENT_H_INCLUDED
#define STUDENT_H_INCLUDED

#include <string>

class student
{
public:
    long num,tnum;
    std::string name,sex;
    int grade;
public:
    void stuin();
    void stuout();
};


#endif  STUDENT_H_INCLUDED
student.cpp
程序代码:
#include "student.h"
#include <iostream>
void student::stuin()
{
    std::cout << "学号:" ;
    std::cin >> num;
    std::cout << "姓名:" ;
    std::cin >> name;
    std::cout << "性别:" ;
    std::cin >> sex;
    std::cout << "年级:" ;
    std::cin >> grade;
    std::cout << "电话:" ;
    std::cin >> tnum;
    std::cout << "************************" << std::endl;
}
void student::stuout()
{
    std::cout << "学号:" << num << std::endl ;
    std::cout << "姓名:" << name << std::endl ;
    std::cout << "性别:" << sex << std::endl ;
    std::cout << "年级:" << grade << std::endl ;
    std::cout << "电话:" << tnum << std::endl ;
}










 
#5
Garfeild2011-10-26 09:16
回复 4楼 nomify
不行,我在codeblocks里面运行,还是出现
只有本站会员才能查看附件,请 登录
同样地情况,我同学在VS里面改的和你一样能运行,但是这样改在codeblocks里面就运行不了
#6
jp76392011-10-26 14:01
public:
    long num,tnum;
    std::string name,sex;
    int grade;
改为试试:
private:
    long num,tnum;
    std::string name,sex;
    int grade;
#7
维海2011-10-26 18:03

 #include <string>
 #include "tdudent.h"
 using namespace std;
 int main()
 {
     student stu;
     stu.stuin();
     stu.stuout();
     return 0;
 }

、、、、、、、、、、、、、、、、、、
#ifndef TDUDENT_H_INCLUDED
#define TDUDENT_H_INCLUDED



 class student
 {
 public:
     long num,tnum;
     std::string name,sex;
     int grade;
 public:
     void stuin();
     void stuout();
 };


#endif // TDUDENT_H_INCLUDED
、、、、、、、、、、、、、、、、、
#include <iostream>
#include "tdudent.h"
 void student::stuin()
 {
     std::cout << "学号:" ;
     std::cin >> num;
     std::cout << "姓名:" ;
     std::cin >> name;
     std::cout << "性别:" ;
     std::cin >> sex;
     std::cout << "年级:" ;
     std::cin >> grade;
     std::cout << "电话:" ;
     std::cin >> tnum;
     std::cout << "************************" << std::endl;
 }
 void student::stuout()
 {
     std::cout << "学号:" << num << std::endl ;
     std::cout << "姓名:" << name << std::endl ;
     std::cout << "性别:" << sex << std::endl ;
     std::cout << "年级:" << grade << std::endl ;
     std::cout << "电话:" << tnum << std::endl ;
 }
、、、、、、、、、、、、、、
我编译没问题啊,这是源码
#8
Garfeild2011-10-27 10:31
回复 7楼 维海
你是用的vs吧,在VS里面能编译通过,在codeblocks里面就不能通过
#9
zhcosin2011-10-28 17:40
这个问题我也遇到了,不是程序的问题,只要是多文件的工程,在VC6下通过编译,在CodeBlocks下都提示说Undefined reference to .....,百度过了,还是没解决,说要安装一个qt什么的.
1