我在这里有一个菜鸟问题。我对 C++ 结构和语法有所了解,但遇到了一些困难。我知道我的概念中遗漏了一些东西。因此,首先编写一些代码来帮助描述情况。
控制.h
#pragma once
#ifndef CONTROL_H
#define CONTROL_H
class Control
{
public:
Control();
~Control();
private:
public:
};
#endif /*CONTROL_H*/
控制.cpp
#include "Control.h"
#include "Hello.h"
Hello helloObj;
Control::Control()
{
}
Control::~Control()
{
}
int main()
{
int a = helloObj.HelloWorld();
return 0;
}
你好.h
#pragma once
#ifndef HELLO_H
#define HELLO_H
class Hello
{
public:
Hello();
~Hello();
private:
public:
int HelloWorld(void);
};
#endif /*HELLO_H*/
你好.cpp
#include "Hello.h"
Hello::Hello()
{
}
Hello::~Hello()
{
}
int HelloWorld()
{
return 5;
}
我尝试在 OSX 10.7 上使用 g++ 编译 control.cpp 并得到
Undefined symbols for architecture x86_64:
"Hello::Hello()", referenced from:
__static_initialization_and_destruction_0(int, int)in cccZHWtd.o
"Hello::~Hello()", referenced from:
___tcf_1 in cccZHWtd.o
"Hello::HelloWorld()", referenced from:
_main in cccZHWtd.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
是编译器、我的代码还是我对正在发生的事情的概念?我没有正确实例化某些东西吗?
任何更详细地描述这一点的链接将不胜感激。
最终我希望能够在另一个类中运行一个函数并返回结果......正常的OO,保持你的程序模块化......