[英]Trouble with value of class
我創建了一個 class “向量”,它只返回 x、y、z 值。 但是當我嘗試從 class 獲取一個值並打印它時,它顯示的是 0 而不是預期值。 除了我的視覺工作室項目之外,我已經嘗試過這個並且它有效,所以我完全迷失了。 我把它放在主要的 function 中以簡化但實際上我使用 WinMain。
矢量.h
#ifndef VECTOR_H
#define VECTOR_H
class vector {
public:
//declaration
double x, y, z;
vector(double x, double y, double z);
};
向量.cpp
#include "vector.h"
//definition
vector::vector(double x, double y, double z) : x(x), y(y), z(z) {}
主文件
int main() {
//create a array of vector
vector vertices[4] = {
vector(0, 0, 0),
vector(1, 0, 0),
vector(1, 1, 0),
vector(0, 1, 0),
};
std::cout << vertices[1].x << std::endl;
//and it prints 0 instead of 1;
return 0;
}
我的解釋是你想創建用戶定義的 class 的向量,它有 3 個成員,分別是x、y、z
因此,以下是您可以根據需要參考和修改的代碼。
class myClass{
public:
double x, y, z;
myClass() { x = 0.0; y = 0.0; z = 0.0; };
myClass(double x, double y, double z) : x(x), y(y), z(z) {}
};
int main() {
vector <myClass>vertices = {
myClass(0, 0, 0),
myClass(1, 0, 0),
myClass(1, 1, 0),
myClass(0, 1, 0),
};
std::cout << vertices[1].x << std::endl;
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.