C++:另一个类中的类作为类型?
有人能给我解释一下这种Y类的遗产吗:私有的C++:另一个类中的类作为类型?,c++,class,inheritance,private,C++,Class,Inheritance,Private,有人能给我解释一下这种Y类的遗产吗:私有的 class X { private: char c_; public: X(char c) : c_(c){} }; class Y { private: X x_; // What is this ? public: Y(X x): x_(x){} }; int main() { X m('a'); Y *test = new Y(m); delete test; return 0; } 这不是继承,因为Y不是
class X
{
private: char c_;
public: X(char c) : c_(c){}
};
class Y
{
private: X x_; // What is this ?
public: Y(X x): x_(x){}
};
int main()
{
X m('a');
Y *test = new Y(m);
delete test;
return 0;
}
这不是继承,因为Y不是从X派生的
这只是简单的封装。X X只是Y的一个成员变量,与char c_u没有区别。它是X的一个成员变量。它与private:char c_u;相同;。它只是一个成员变量。听起来你可以用@NathanOliver,所以它只是同义词?与X类的属性无关?不,它不是同义词。它声明了一个名为x的类成员,其类型为x;声明了一个名为c的类成员,类型为char。那么,它与上面的类X无关?类型X的成员变量保存为numberprint、double或char?@RyadKovach我不明白你在问什么。@RemyLebau只是想确定,类Y与类X无关?@RyadKovach:X类独立于类Y。类Y有一个类型X的成员,因此它依赖于类X,但不是从类X派生的。