用c++编写成员函数Display用于显示成员变量值
时间: 2024-01-13 14:05:58 浏览: 63
好的,下面是在Time类中添加成员函数Display用于显示成员变量值的实现:
```c++
class Time {
private:
int hour;
int minute;
public:
Time() {
hour = 0;
minute = 0;
}
Time(int h, int m) {
hour = h;
minute = m;
}
void Display() {
cout << "Time: " << hour << ":" << minute << endl;
}
};
```
这个类中添加了成员函数Display,用于显示hour和minute的值。这个函数没有参数,因为它可以直接访问类的成员变量。在这个函数中,我们使用cout输出“Time:”和hour和minute的值。这个类可以使用以下方式进行实例化和调用Display函数:
```c++
Time t1; // 初始化hour和minute为0
t1.Display(); // 输出:Time: 0:0
Time t2(10,30); // 初始化hour为10,minute为30
t2.Display(); // 输出:Time: 10:30
```
相关问题
用C++编写一个时间间隔类Time,包含hour、minute两个私有变量。编写Time类两个构造函数,一个不带任何参数,另一个包含两个参数用于初始化hour、minute。 2.编写成员函数Display用于显示成员变量值。 3.编写一个间隔分钟类Mins(小时恒为0),公有继承Time类,编写对应的构造函数。 4.编写主程序,创建两个派生类对象,并分别调用显示函数,显示对象信息。 5.编写基类成员函数重载==运算符函数,实现对应时间的==运算。在主程序中利用上面创建的两个对象测试所编写的运算符重载函数。
好的,我会根据您的要求回答您的问题。关于您的问题,以下是C++代码实现:
```c++
#include<iostream>
using namespace std;
class Time
{
private:
int hour;
int minute;
public:
Time():hour(0),minute(0){}
Time(int h, int m):hour(h),minute(m){}
void Display()
{
cout<<"Time: "<<hour<<":"<<minute<<endl;
}
bool operator==(const Time& t)
{
return (hour==t.hour && minute==t.minute);
}
};
class Mins : public Time
{
public:
Mins(int m):Time(0,m){}
};
int main()
{
Time t1(1,30);
Mins m1(60);
t1.Display();
m1.Display();
if(t1==Time(1,30))
cout<<"t1 is equal to Time(1,30)"<<endl;
return 0;
}
```
这段代码实现了一个`Time`类和一个继承自`Time`类的`Mins`类,`Time`类有两个构造函数,一个默认构造函数和一个带参数的构造函数用于初始化`hour`和`minute`成员变量。`Time`类还有一个`Display`函数用于显示时间。`Mins`类仅包含一个带参数的构造函数用于初始化`minute`成员变量,`hour`成员变量恒为0。
在`main`函数中,我们创建了一个`Time`类对象`t1`和一个`Mins`类对象`m1`,并分别调用了它们的`Display`函数,输出了它们的时间信息。之后,我们对`t1`和另一个`Time`类对象`Time(1,30)`进行了`==`运算符的重载,如果相等,则输出一条信息。
希望这个代码可以帮到您!
1.编写一个彩色字符串类ColorString,包含string类型str和string类型color两个私有变量。编写ColorString类两个构造函数,一个不带任何参数,另一个包含两个参数用于初始化str,color。 2.编写成员函数Display用于显示成员变量值。 3.编写一个圆类RedString(继承时基类中的color为red),公有继承ColorString类,编写对应的构造函数。 4.编写主程序,创建两个派生类对象,并分别调用显示函数,显示对象信息。 5.编写基类友元函数重载==运算符函数,实现str成员变量的==运算。在主程序中利用上面创建的两个对象测试所编写的运算符重载函数。
好的,我会按照您的要求回答问题,不会透露您的任何要求。
关于您的问题,我可以给出以下代码示例供参考:
```c++
#include <iostream>
#include <string>
using namespace std;
class ColorString {
protected:
string str;
string color;
public:
ColorString() { }
ColorString(string s, string c) : str(s), color(c) { }
void Display() {
cout << "\033[" << color << "m" << str << "\033[0m" << endl;
}
friend bool operator==(const ColorString& c1, const ColorString& c2) {
return c1.str == c2.str;
}
};
class RedString : public ColorString {
public:
RedString(string s) : ColorString(s, "31") { }
};
int main() {
ColorString c1("Hello", "32");
RedString c2("World");
c1.Display();
c2.Display();
cout << (c1 == c2) << endl;
ColorString c3("Hello", "32");
cout << (c1 == c3) << endl;
return 0;
}
```
解释一下代码:
首先定义了一个基类 `ColorString`,其中包含 `string` 类型的字符串和颜色,提供了两个构造函数和一个 `Display` 函数用于显示字符串和颜色。同时,重载了 `==` 运算符,用于比较两个 `ColorString` 对象的字符串是否相等。
然后定义了一个派生类 `RedString`,公有继承自 `ColorString`,并在构造函数中将颜色设置为红色。
最后,在 `main` 函数中创建了两个对象 `c1` 和 `c2`,分别为 `ColorString` 和 `RedString` 类型,并调用了它们的 `Display` 函数显示字符串和颜色。同时,也进行了两次 `==` 运算符的比较,测试了运算符重载函数的正确性。
阅读全文