学校でC++を学ぶとき、ライブラリの構築方法について実際に話したことはありませんでした。そのため、基本的な理解をお詫びします。私がオンラインで読んだことから、ライブラリはすでにコンパイルされたコードの単なるコレクションであり.h
、そのライブラリでアクセス可能な関数をリストしたファイルがあるようです。
たとえば、コンパイルするためにcmathコードにアクセスせずに#include <cmath>
呼び出すことができる場合です。sin(x)
私の質問は、これがデータを含むクラスで機能するかどうかです。
だから私はライブラリを作成できますか
//AccumulatorLibrary.h
class Accumulator
{
public:
int num;
int increment() {num++};
void otherFunctions(); //otherFunctions defined in the .lib file
}
そしてそれを呼ぶ
//Main
#include "AccumulatorLibrary.h"
#include <stdio>
int main()
{
Accumulator A(0); //initalize num to 0
Accumulator B(7); //initalize num to 7
cout<<A.increment;
cout<<B.increment;
cout<<A.increment;
}
1 8 2
?の出力を取得します
要約すると、一連のクラスをライブラリファイルに入れる方法を理解した場合、そのデータにファイル内のアクセス機能がある限り、必要なデータにアクセスでき.h
ますか?
または、より基本的な質問ですが.h
、.lib
ファイルは通常のc ++コードとまったく同じように機能しますが、使用時にコンパイルする必要がなく、.lib
ファイル内のコードにアクセスできない点が異なりますか?