freedom feng 2022-02-15 17:05 采纳率: 50%
浏览 33
已结题

[Error] ld returned 1 exit status,关于类的成员引用

C++中定义类的成员函数,但在引用的时候不知道哪里出了问题

//输出有问题,但我没有找到 
#include<iostream>
using namespace std;
#include<string.h>
class Cbook                                //声明类Cbook   均应以C开头 
{
    private:                            //下面的为私有数据 
        char * m_pczName;
        int m_nPages;
        int m_nEdition;
    public:                                //下面的为公有数据和函数 
        void GetBookName(char *pName);
        int GetTotalPages();
        int GetBookEdition();
    private:                            //下面的为私有数据和函数 
        void SetBookName(char *pName);
        void SetTotalPages(int nPages);
        void SetBookEdition(int nEdition);
    public:                                //下面的为公有数据和函数 
        Cbook();
 } ;
 void Cbook::GetBookName(char *pName)    //定义成员函数 
 {
     strcpy(pName,m_pczName);
 }
 int Cbook::GetBookEdition()            //定义成员函数
 {
     return m_nEdition;
 }
 void Cbook::SetBookName(char *pName)    //定义成员函数
 {
     if(m_pczName!=0)
     delete[] m_pczName;                    //如果已经有了旧名字,删除它,然后重新命名 
     
     m_pczName=new char[strlen(pName)+1];//重新分配存储空间 
     strcpy(m_pczName,pName);            //复制字符串 
 }
 void Cbook::SetTotalPages(int nPages)    //定义成员函数 
 {
     m_nPages=nPages; 
 }
 void Cbook::SetBookEdition(int nEdition)//定义成员函数 
 {
     m_nEdition=nEdition;
 }
 int main()
 {
      Cbook op1;
     int i;
     i=op1.GetBookEdition();
     cout<<i<<endl;
 }

(.text+0xf4): undefined reference to `Cbook::Cbook()'
[Error] ld returned 1 exit status

main()函数中,我试过了在Cbook op1后面加括号,但没能实现

能正常运行就行

  • 写回答

3条回答 默认 最新

  • _GX_ 2022-02-15 17:11
    关注

    你声明了Cbook的默认构造函数,但是没有定义。

    Cbook::Cbook() : m_pczName(nullptr), m_nPage(0), m_nEdition(0) {}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月23日
  • 已采纳回答 2月15日
  • 创建了问题 2月15日

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog