約 100 の方程式を解くコードを開発しています。これらの方程式のほとんどは、最終的にユーザーがそれらを気にしないため、プライベート メンバーで計算されます。しかし、今私はそうします。そのため、コードを開発するときに、プライベート メンバーをすばやくテストする方法が必要です。
以下のコードは、私が望む基本的な動作を提供しますが、機能しません (プライバシーの問題)。この動作が可能であれば、助けていただければ幸いです。
// Includes
#include <stdio.h>
// I want a general test class that can access private members
template <class Name> class TestClass{
public:
TestClass(Name& input) : the_class(input){}
Name& operator()(){ return the_class; }
Name& the_class;
};
// The class I want to test
class ClassA{
public:
friend class TestClass<ClassA>; // I hoped this would do it, but it doesn't
ClassA(){}
private:
void priv(){ printf("a private function\n"); }
};
// Main function that preforms the testing
int main (){
ClassA a;
TestClass<ClassA> b(a);
b().priv(); // I want to do this
}