Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++:另一个类中的类作为类型?_C++_Class_Inheritance_Private - Fatal编程技术网

C++:另一个类中的类作为类型?

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不是

有人能给我解释一下这种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派生的。