C++中关于类的链接问题的一些个人愚见

        最近在思考在不同的源文件中的同一份类的定义(重新写一遍或包含头文件导致)在链接时不会出现重复定义的链接错误,查到资料说类的定义是内部链接属性,意思就是说不同源文件中的类定义相对源文件是局部性质,各个源文件中类的定义互相不可见。所以在此基础上我理解的是,类的定义中只有成员变量和成员函数的声明,类的成员函数的定义都在定义类的同文件文件名的源文件中(只有一份定义),而类的成员变量只有在定义类对象或new类的指针时才定义,并调用构造函数进行初始化。所以在各个源文件中都包含了类的定义,但是并没有包含类的成员变量和成员函数的定义,在使用类的成员函数时还是通过外部链接在.obj中找到他们的定义来使用。当然,本人菜鸟一只,这只是个人理解,希望各位大神给予纠正,帮助我理解。

你可能感兴趣的:(C++)