Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.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++ - Fatal编程技术网

C++ 从作为指针的类成员获取值,指针是类的属性

C++ 从作为指针的类成员获取值,指针是类的属性,c++,C++,为了说明我的问题,我从这里借用了代码: 代码中的此行不访问以下值: cout << "rect area: " << *vec[1].rect1->height << endl; 如何查看vec[1]中存储的高度?应该是20 提前感谢。假设您的意思是: class Paper_class{ Paper_class(Rectangle rect); ~Paper_class(); Rectangle * rectangle1; } P

为了说明我的问题,我从这里借用了代码:

代码中的此行不访问以下值:

cout << "rect area: " << *vec[1].rect1->height << endl;
如何查看vec[1]中存储的高度?应该是20

提前感谢。

假设您的意思是:

class Paper_class{
   Paper_class(Rectangle rect);
   ~Paper_class();
   Rectangle * rectangle1;
}

Paper_class::Paper_class(Rectangle rect){
   rectangle1 = &rect;
}

Paper_class::~Paper_class(){
   delete rectangle1;
}
使用

vec[1]的计算结果为论文类&

vec[1]。矩形1的计算结果为矩形*

vec[1]。矩形1->高度计算为双精度

谨慎

由于Paper_类中缺少属性复制构造函数和复制赋值运算符,您的代码将导致未定义的行为。详情请参阅

class Paper_class{
   Paper_class(Rectangle rect);
   ~Paper_class();
   Rectangle * rectangle1;
}

Paper_class::Paper_class(Rectangle rect){
   rectangle1 = &rect;
}

Paper_class::~Paper_class(){
   delete rectangle1;
}
cout << "rect area: " << vec[1].rectangle1->height << endl;