带有数组 SV.showVales(set2_1, SIZE2_1) 的简单头文件
Simple Header File with Array SV.showVales(set2_1, SIZE2_1)
我纠正了这个错误,但我真正想做的是从头文件中获取数据,而不是在主函数中使用数据。谢谢
我是这个网站的新手,但想就如何重新排列这些文件提供一些建议。
这是头文件:
#ifndef Prog_7_15_h
#define Prog_7_15_h
class Prog_7_15
{
private:
//Originally const int and int set2_1[8] were in private
public:
Prog_7_15();
void showValues2(int [], int);
const int SIZE2_1 = 8;
const int SIZE2_2 = 5;
int set2_1[8] = { 5, 10, 15, 20, 25, 30, 35, 40 }; // Not SIZE2_1 8
int set2_2[5] = { 2, 4, 6, 8, 10 };
~Prog_7_15();
};
#endif // !Prog_7_15
这是Prog_7_15.cpp文件:
#include <iostream>
#include "Prog_7_15.h"
using namespace std;
Prog_7_15::Prog_7_15() { }
void Prog_7_15::showValues2(int num[], int size)
{
for (int index = 0; index < size; index++)
cout << num[index] << "t";
cout << endl;
}
Prog_7_15::~Prog_7_15() { }
这是主要思想.cpp:
#include <iostream>
#include "Prog_7_15.h"
using namespace std;
void showValues(int[], int);
int main()
{
Prog_7_15 SV;
const int SIZE1 = 8; //This part works!
const int SIZE2 = 5;
int set1[SIZE1] = { 5, 10, 15, 20, 25, 30, 35, 40 };
int set2[SIZE2] = { 2, 4, 6, 8, 10 };
showValues(set1, SIZE1);
showValues(set2, SIZE2);
SV.showValues2( set1, SIZE1 ); // work!
//Played around with int [], int and just int, int and ()
SV.showValues2(set2_1, SIZE2_1); //Does NOT WORK
return 0;
}
void showValues(int nums[], int size)
{
for (int index = 0; index < size; index++)
cout << nums[index] << "t";
cout << endl;
}
我想找出为什么 main 函数有效,但头文件不起作用。任何解释将不胜感激!!
感谢您的帮助。我修复了它,但我真正想要的是使用头文件中的数据。
SV.showValues2(set2_1, SIZE2_1); //Does not Work Data in the Header File
SV.showValues2(set1, SIZE1); //Works!
set2_1,SIZE_1在头文件中,我正在尝试只将函数放在主函数中。
再次感谢
首先,你的showValues2函数需要成为你的Prog_7_15类的一部分。
由此:
void showValues2(int num[], int size)
{
for (int index = 0; index < size; index++)
cout << num[index] << "t";
cout << endl;
}
对此:
void Prog_7_15::showValues2(int num[], int size)
{
for (int index = 0; index < size; index++)
cout << num[index] << "t";
cout << endl;
}
你的构造函数和解构函数在语法上是正确的,所以我假设你只是忘记了这一点!
接下来,这一行:
SV.showValues2( int [],int );
虽然这些是Prog_7_15的showValues2想要的类型,但您需要传入这些类型的变量才能使其正常工作。您之前使用showValues正确操作!showValues2是类函数不会改变该函数接受参数的方式。
修复:
SV.showValues2(set1, SIZE1);
因此,该问题已更新为如何使用Prog_7_15的set2_1
(或set2_2
)和SIZE2_1
(或SIZE2_2
)。
这些变量在头文件中并不重要;你只需要记住包含所述头文件。阻止你的是你的变量是Prog_7_15
类的一部分。
在创建Proj_7_15
类的对象之前,不能使用set2
和SIZE2
变量。 幸运的是,您已经在此行中使用了SV
:
Prog_7_15 SV;
现在,您可以通过对象SV
访问Prog_7_15的所有(公共)函数和变量。
要访问类的函数和变量,您需要做的就是在您创建的对象后放置一个.
。您可以看到类函数 showValues2 以这种方式工作。
例如,如果你想在函数中使用变量set2_1,你需要做的就是像这样写它:
random_function_name(SV.set2_1);
我希望这有所帮助。
- 在c++中用vector填充一个简单的动态数组
- (C++)分析树以计算返回错误值的简单算术表达式
- 我的简单if-else语句是如何无法访问的代码
- 使用简单类型列表实现的指数编译时间.为什么
- 如何在BST的这个简单递归实现中消除警告
- 一种在C++中读取TXT配置文件的简单方法
- 关于简单C++函数(is_palindrome)的逻辑的问题
- 显示错误输出的简单数组排序程序
- 当无法使用模板和宏时,生成类型变体C++代码的最简单方法是什么?
- 退出简单while循环时出现问题
- 为什么简单的算术减法在"if"条件下不起作用?
- C++-字符串是否包含一个带有简单循环的单词
- 关于 c++ 函数中指针赋值的简单问题
- 从函数返回任意简单类型的数据
- 如何在没有函数的情况下编写此代码并使C++更简单?
- 有没有办法简单地从 GPU 调用多个 cpp 输出文件?
- 在简单示例中,Python3 + ctypes 回调会导致内存泄漏
- 当简单捕获中的标识符显示为参数的声明符 ID 时,没有编译器诊断
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- CPU 瓶颈;处理具有许多非静态对象的 3D 场景渲染的简单方法