写一个C++的程序,要求用到面向对象三要素:封装 继承 多态,尽量简单就好,谢谢!
发布网友
发布时间:2022-04-29 15:58
我来回答
共1个回答
热心网友
时间:2023-10-17 10:48
/*Fruit.h代码*/
#ifndef FRUIT_H_
#define FUIT_H_
#include <string>
#include <iostream>
using namespace std;
class Fruit
{
private:
string name_;
public:
Fruit(string name = "C++")
:name_(name)
{}
virtual void show()
{
cout << "I'm " << name_ << "Fruit!!"<<endl;
}
};
class Banana : public Fruit
{
private:
int length_;
public:
Banana(string name = "Banana", int length_ = 10)
:Fruit(name), length_(10)
{}
virtual void show()
{
cout << "Banana Banana!\n"<<endl;
}
};
#endif
/*main.cpp*/
#include <iostream>
#include <string>
#include "Fruit.h"
void main()
{
Fruit * fruit[2] =
{
&Fruit("Apple"),
&Banana("Banana", 10)
};
fruit[0]->show();
fruit[1]->show();
}
/*
多态体现在 使用 Fruit的指针数组
继承很明显了, 就是 class Banana : public Fruit
封装的话, 就是show方法了,里面提供的细节不是让main使用的时候知道的。
就是这样了0 0 , 希望能帮助到楼主
*/
热心网友
时间:2023-10-17 10:48
/*Fruit.h代码*/
#ifndef FRUIT_H_
#define FUIT_H_
#include <string>
#include <iostream>
using namespace std;
class Fruit
{
private:
string name_;
public:
Fruit(string name = "C++")
:name_(name)
{}
virtual void show()
{
cout << "I'm " << name_ << "Fruit!!"<<endl;
}
};
class Banana : public Fruit
{
private:
int length_;
public:
Banana(string name = "Banana", int length_ = 10)
:Fruit(name), length_(10)
{}
virtual void show()
{
cout << "Banana Banana!\n"<<endl;
}
};
#endif
/*main.cpp*/
#include <iostream>
#include <string>
#include "Fruit.h"
void main()
{
Fruit * fruit[2] =
{
&Fruit("Apple"),
&Banana("Banana", 10)
};
fruit[0]->show();
fruit[1]->show();
}
/*
多态体现在 使用 Fruit的指针数组
继承很明显了, 就是 class Banana : public Fruit
封装的话, 就是show方法了,里面提供的细节不是让main使用的时候知道的。
就是这样了0 0 , 希望能帮助到楼主
*/
热心网友
时间:2023-10-17 10:48
/*Fruit.h代码*/
#ifndef FRUIT_H_
#define FUIT_H_
#include <string>
#include <iostream>
using namespace std;
class Fruit
{
private:
string name_;
public:
Fruit(string name = "C++")
:name_(name)
{}
virtual void show()
{
cout << "I'm " << name_ << "Fruit!!"<<endl;
}
};
class Banana : public Fruit
{
private:
int length_;
public:
Banana(string name = "Banana", int length_ = 10)
:Fruit(name), length_(10)
{}
virtual void show()
{
cout << "Banana Banana!\n"<<endl;
}
};
#endif
/*main.cpp*/
#include <iostream>
#include <string>
#include "Fruit.h"
void main()
{
Fruit * fruit[2] =
{
&Fruit("Apple"),
&Banana("Banana", 10)
};
fruit[0]->show();
fruit[1]->show();
}
/*
多态体现在 使用 Fruit的指针数组
继承很明显了, 就是 class Banana : public Fruit
封装的话, 就是show方法了,里面提供的细节不是让main使用的时候知道的。
就是这样了0 0 , 希望能帮助到楼主
*/
热心网友
时间:2023-11-08 11:46
/*Fruit.h代码*/
#ifndef FRUIT_H_
#define FUIT_H_
#include <string>
#include <iostream>
using namespace std;
class Fruit
{
private:
string name_;
public:
Fruit(string name = "C++")
:name_(name)
{}
virtual void show()
{
cout << "I'm " << name_ << "Fruit!!"<<endl;
}
};
class Banana : public Fruit
{
private:
int length_;
public:
Banana(string name = "Banana", int length_ = 10)
:Fruit(name), length_(10)
{}
virtual void show()
{
cout << "Banana Banana!\n"<<endl;
}
};
#endif
/*main.cpp*/
#include <iostream>
#include <string>
#include "Fruit.h"
void main()
{
Fruit * fruit[2] =
{
&Fruit("Apple"),
&Banana("Banana", 10)
};
fruit[0]->show();
fruit[1]->show();
}
/*
多态体现在 使用 Fruit的指针数组
继承很明显了, 就是 class Banana : public Fruit
封装的话, 就是show方法了,里面提供的细节不是让main使用的时候知道的。
就是这样了0 0 , 希望能帮助到楼主
*/
热心网友
时间:2023-10-17 10:48
/*Fruit.h代码*/
#ifndef FRUIT_H_
#define FUIT_H_
#include <string>
#include <iostream>
using namespace std;
class Fruit
{
private:
string name_;
public:
Fruit(string name = "C++")
:name_(name)
{}
virtual void show()
{
cout << "I'm " << name_ << "Fruit!!"<<endl;
}
};
class Banana : public Fruit
{
private:
int length_;
public:
Banana(string name = "Banana", int length_ = 10)
:Fruit(name), length_(10)
{}
virtual void show()
{
cout << "Banana Banana!\n"<<endl;
}
};
#endif
/*main.cpp*/
#include <iostream>
#include <string>
#include "Fruit.h"
void main()
{
Fruit * fruit[2] =
{
&Fruit("Apple"),
&Banana("Banana", 10)
};
fruit[0]->show();
fruit[1]->show();
}
/*
多态体现在 使用 Fruit的指针数组
继承很明显了, 就是 class Banana : public Fruit
封装的话, 就是show方法了,里面提供的细节不是让main使用的时候知道的。
就是这样了0 0 , 希望能帮助到楼主
*/