在C++中,如果你想在main
函数以及其他类成员函数中都能访问和打印一个公共的向量(std::vector
),你可以将这个向量定义为全局变量或者作为某个类的静态成员。下面我将分别展示这两种方法。
#include <iostream>
#include <vector>
// 定义一个全局向量
std::vector<int> globalVector;
class MyClass {
public:
void addValue(int value) {
// 在类成员函数中向全局向量添加值
globalVector.push_back(value);
}
void printVector() {
// 在类成员函数中打印全局向量的内容
for (int val : globalVector) {
std::cout << val << " ";
}
std::cout << std::endl;
}
};
int main() {
MyClass myObject;
myObject.addValue(10);
myObject.addValue(20);
myObject.printVector(); // 打印全局向量的内容
// 直接在main函数中访问和打印全局向量
for (int val : globalVector) {
std::cout << val << " ";
}
std::cout << std::endl;
return 0;
}
#include <iostream>
#include <vector>
class MyClass {
public:
// 定义一个静态成员向量
static std::vector<int> staticVector;
void addValue(int value) {
// 在类成员函数中向静态成员向量添加值
staticVector.push_back(value);
}
void printVector() {
// 在类成员函数中打印静态成员向量的内容
for (int val : staticVector) {
std::cout << val << " ";
}
std::cout << std::endl;
}
};
// 初始化静态成员变量
std::vector<int> MyClass::staticVector;
int main() {
MyClass myObject;
myObject.addValue(10);
myObject.addValue(20);
myObject.printVector(); // 打印静态成员向量的内容
// 直接在main函数中访问和打印静态成员向量
for (int val : MyClass::staticVector) {
std::cout << val << " ";
}
std::cout << std::endl;
return 0;
}
以上两种方法都可以实现在main
函数和其他类成员函数中访问和打印公共向量的需求。根据具体的项目规模和设计原则,可以选择最合适的方法。
领取专属 10元无门槛券
手把手带您无忧上云