C++ 编写保存类之间传递的临时值的测试
我尝试编写一个从真实类继承的内部类进行测试。内部类复制类之间传递的临时变量 例如:C++ 编写保存类之间传递的临时值的测试,c++,inheritance,testing,C++,Inheritance,Testing,我尝试编写一个从真实类继承的内部类进行测试。内部类复制类之间传递的临时变量 例如: #include <iostream> #include <random> class Internal_a; class A { public: A() {} const int test() const { return std::rand() % 10; } private: friend class Internal_a; }; class Inter
#include <iostream>
#include <random>
class Internal_a;
class A {
public:
A() {}
const int test() const { return std::rand() % 10; }
private:
friend class Internal_a;
};
class Internal_a : public A {
public:
int test() {
_val = A::test();
return _val;
}
int _val;
};
class C {
public:
C(const A& a) { _x = a.test() * 2; }
private:
int _x;
};
int main() {
Internal_a i_a;
C c(i_a);
std::cout << i_a._val << "\n";
}
#包括
#包括
甲级;
甲级{
公众:
A(){}
const int test()const{return std::rand()%10;}
私人:
友人班;
};
类内部_a:公共a{
公众:
int test(){
_val=A::test();
返回值;
}
国际价值;
};
C类{
公众:
C(常数A&A){ux=A.test()*2;}
私人:
int_x;
};
int main(){
内部审计;
C(i_a);;
std::你能使A::测试
虚拟吗?@aschepler在某些情况下,我可以使A::测试
虚拟。但在其他情况下,事情必须快速,我尽量避免虚拟
。你可以为A
提供兰德引擎(可以在测试中模拟)。