我遇到了一个问题,我一直试图让代码更加高效。我创建了一个Vector类,需要用它做一些基本的计算。使用矢量库是不可能的,我需要创建自己的。 我目前的问题是在数学的最后阶段。我可以输入第一个和第二个矢量的值,但将它们加在一起后,我会得到完全随机的数字。我发布我的头文件和我的CPP文件 - 任何帮助将不胜感激!跨几个函数访问类指针
Vectors.h
#include <math.h>
#include <iostream>
class Vectors
{
public:
Vectors(void);
~Vectors(void);
Vectors(double a1, double b1, double c1, double d1)
{
a = a1;
b = b1;
c = c1;
d = d1;
}
void VectorAdd(Vectors vector1, Vectors vector2);
void VectorSub();
void VectorMulti();
void VectorDiv();
void VectorDP();
void VectorCP();
void setV1(Vectors &vector1);
void setV2(Vectors &vector2);
private:
double a;
double b;
double c;
double d;
double cp;
};
cpp文件
void Vectors::setV1(Vectors &vector1)
{
Vectors *Vector1 = new Vectors();
std::cout << "Enter the values of the first vector please.\n";
std::cout << "a1: ";
std::cin >> Vector1 -> a;
std::cout << "b1: ";
std::cin >> Vector1 -> b;
std::cout << "c1: ";
std::cin >> Vector1 -> c;
std::cout << "d1: ";
std::cin >> Vector1 -> d;
Vector1 = &vector1;
std::cin.get();
std::cin.get();
}
void Vectors::setV2(Vectors &vector2)
{
Vectors *Vector2 = new Vectors();
std::cout << "Enter the values of the first vector please.\n";
std::cout << "a1: ";
std::cin >> Vector2 -> a;
std::cout << "b1: ";
std::cin >> Vector2 -> b;
std::cout << "c1: ";
std::cin >> Vector2 -> c;
std::cout << "d1: ";
std::cin >> Vector2 -> d;
Vector2 = &vector2;
std::cin.get();
std::cin.get();
}
void Vectors::VectorAdd(Vectors vector1, Vectors vector2)
{
setV1(vector1);
setV2(vector2);
Vectors *Vector3 = new Vectors();
std::cout << "Here is the combination of the two vectors.\n";
Vector3 -> a = vector1.a + vector2.a;
std::cout << "a3: " << Vector3 -> a;
Vector3 -> b = vector1.b + vector2.b;
std::cout << "\nb3: " << Vector3 -> b;
Vector3 -> c = vector1.c + vector2.c;
std::cout << "\nc3: " << Vector3 -> c;
Vector3 -> d = vector1.d + vector2.d;
std::cout << "\nd3: " << Vector3 -> d;
std::cin.get();
std::cin.get();
}
预先感谢您!
谢谢!我一直在理解所有的指针问题,真的需要再看一遍。 – Turkeydipking