gpt4 book ai didi

c++ - 简单的 c++ 构造函数不起作用(非常基本)

转载 作者:搜寻专家 更新时间:2023-10-31 01:17:54 25 4
gpt4 key购买 nike

好的,所以我决定时不时地阅读一些 C++,以便对语法有一个基本的了解。我熟悉 Java,还有一点 Python。我已经“阅读”了一本 C++ for dummies 书,我认为我已经掌握了 - 直到我试图创建最简单的类。这个想法非常简单:一个类(名为 ape)接受一个参数,一个 int,它存储为一个私有(private)字段。它还有一个函数,一个返回函数,它返回字段。 main() 创建一个实例,并调用该方法打印出变量。

我的想法是使用字符串而不是 int,但我无法让它工作,所以我决定改用 int,显然,它也不起作用。

如果有任何兴趣,我会使用 Code::blocks、Windows 7 和 g++ 编译器。

这里是类:

main.cpp

#include <iostream>
#include "ape.h"

using namespace std;

int main()
{
ape asd(10);
cout << asd.getNumber();
}

猿.h

#ifndef APE_H
#define APE_H

class ape
{
public:
ape(int num);
virtual ~ape();
int getNumber();
protected:
private:
int number;
};

#endif // APE_H

和猿.cpp

#include "ape.h"
using namespace std;

ape::ape(int num)
{
tall = num;
}

ape::~ape()
{
//dtor
}

int getNumber()
{
return number;
}

我收到的错误消息对我来说似乎非常随机,因为它们会随着我所做的每一次更改而完全改变,并且不是很容易 self 解释。我知道我听起来像个傲慢的傻瓜,这整个困惑都是编译器的错,但我真的看不出错误消息和我的代码中的错误之间有任何联系。

请放心,我是第一次来这里。 :)

我想我应该添加错误信息:对“ape::ape(int)”的 undefined reference

最佳答案

没有实际的错误信息就不多说了,但至少这里有一个问题:

int getNumber()
{
return number;
}

这应该是 int ape::getNumber()。此外,在您的代码中没有 tall 的定义,也许应该是 number

关于c++ - 简单的 c++ 构造函数不起作用(非常基本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7718116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com