C++类函数与C类的比较 我现在正在学习C++,我遇到了很多例子,其中的类与我以前在C或java中所用的声明不同。我不清楚以下几点:
在C中定义一个类时,需要编写完全在类中使用的方法,如下所示:C++类函数与C类的比较 我现在正在学习C++,我遇到了很多例子,其中的类与我以前在C或java中所用的声明不同。我不清楚以下几点:,c++,C++,在C中定义一个类时,需要编写完全在类中使用的方法,如下所示: public class example{ public example(){} public void doSomething(){ Console.WriteLine("This is something"); } } 方法doSomething可以通过实例化一个新对象并调用object.doSomething;来访问;。我明白了 为什么人们在C++中做下面的事情? class example{ p
public class example{
public example(){}
public void doSomething(){
Console.WriteLine("This is something");
}
}
方法doSomething可以通过实例化一个新对象并调用object.doSomething;来访问;。我明白了
为什么人们在C++中做下面的事情?
class example{
private:
int _thingy;
public:
void doSomething();
}
#include <iostream>
example::doSomething(){
std::cout << _thingy;
}
int main(){
example x;
x.doSomething();
system("pause");
}
如果要在其他方法中重用该类,这不是很糟糕吗?对于这个问题,您需要学习一些新概念 第一个问题是C++程序是如何建立的。一个C++程序可以包含许多独立的源文件。每个源文件都独立地编译为目标文件。然后,所有目标文件都链接到最终的可执行程序文件中
然后将C++代码分离为源文件和头文件。头文件包含声明和类定义。通常将类定义放在头文件中。函数实现的定义放在一个或多个源文件中
最后,您需要了解源文件和头文件是如何组合在一起的。翻译单元基本上是包含所有头文件的单个源文件。这是实际编译器处理的基本单元现在是神奇的部分:为了能够调用函数,编译器只需要知道它存在,也就是说,它只需要声明,而不需要定义。由链接器负责获取每个单独的目标文件(编译翻译单元的结果),以解析定义。这是因为类定义通常放在头文件.h中,而实现是在.cpp文件中定义的@Tom和当重用类方法时,您是否会包括一个包含类内方法实现的cpp文件?因此,当在多个文件集C++中使用类方法时,也可以在类定义内定义实现成员函数。但是拆分函数声明和函数定义有助于解决此问题。@lucster请阅读