Fruit.h
class Fruit
{
private:
std::int no[3];
public:
void initialize();
int print_type();
};
Fruit.cpp
#include "Fruit.h"
void Fruit::initialize() {
int no[] = {1, 2, 3};
}
int Fruit::print_type() {
return type[0];
}
Main.cpp的
#include <iostream>
#include "Fruit.h"
using namespace std;
int main()
{
Fruit ff;
ff.initialize();
int output = ff.print_type();
cout << output;
system("pause");
return 0;
}
假设所有文件中都包含必需的指令。 此时,我在找回输出时发现问题,因为它不会导致&#34; 0&#34;但垃圾价值。如何在不使用构造函数的情况下修复它?
真诚希望有人帮我一个忙。
答案 0 :(得分:0)
请阅读C ++中的构造函数。你不了解OOP C ++中的基本内容。
#include "Fruit.h"
void Fruit::initialize() {
int no[] = {1, 2, 3};
}
这不正确。你最多写this.no
或no
。
int Fruit::print_type() {
return type[0];
}
什么是变量type
?
答案 1 :(得分:0)
这是不使用构造函数和析构函数的方法,我希望你发现它很有用。
#include <iostream>
class Fruit
{
private : int* no;
public : void initialize();
public : void clean();
public : int print_type();
};
void Fruit::initialize()
{
no = new int[ 3 ];
no[ 0 ] = 1;
no[ 1 ] = 2;
no[ 2 ] = 3;
}
int Fruit::print_type()
{
return no[ 0 ];
}
void Fruit::clean()
{
delete[] no;
}
int main()
{
Fruit f;
f.initialize();
int o = f.print_type();
std::cout << o;
f.clean();
return 0;
}