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 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?