已采纳回答 / onemoo
从语法上说:函数只要声明了就可以使用(调用它),所以 cpp 文件只要 include 相应的函数头文件(头文件中就是函数声明)就可以使用这个函数,并不需要知道函数的实现。那么你是好奇“为什么代码中没有实现也可调用呢”? 这需要你明白什么是“编译”和“链接”:函数还是需要实现的,不过那是实现在其他 cpp 文件中的。像这样由多个 cpp 构成的程序,其中每个 cpp 文件都是被编译器单独编译的。每一个 cpp 文件被称为一个“编译单元”。 注意编译器无需得知函数实现即可编译函数调用,它只要知道函数声明(需...
2017-09-17
最新回答 / 楚凡_Elliot
你是问为什么在 t.teach() 和 t.getAge 之间有一个 << " "<<吗?那个只是为了让输出的数据之间有一个空格,如果没有空格的话,输出会连在一起。拙见。
2017-08-31
最新回答 / 丨丶老唐
从堆中的对象成员访问申请的是str这个指针的内存空间,结束的时候需要释放str这个指针的内存空间。你打的shili那些只是一个对象,网页的编译器可能识别不太完全
2017-08-31
最新回答 / weixin_慕雪0498266
在Teacher.h文件中已经声明了 默认构造函数Teacher(string name,int age),因此在实例化对象时会调用该默认构造函数,打印出Teacher(string name,int age);如果没有含参数的默认构造函数,系统会自动调用无参数的默认构造函数Teacher()
2017-08-27
最赞回答 / qq_平常心_63
你得明白Teacher.h和Teacher.cpp以及demo.cpp的关联关系。1.Teacher.cpp和Teacher.h的关联用#include "Teacher.h"链接。也就是说,在Teacher.cpp的头文件中添加#include "Teacher.h",注意:Teacher.h中不加,你想想,Teacher.h就已经是头文件了,还在Teacher.h中加自己,是不是很傻?你想无限调用?2.demo.cpp和Teacher.cpp没有关联,demo.cpp和Teacher.h的关联是#in...
2017-08-21