C++ 类 Dog:详解代码示例及操作符重载
C++ 类 Dog:详解代码示例及操作符重载
本示例演示了如何定义一个名为'Dog'的 C++ 类,并通过成员函数和运算符重载实现各种操作。
class Dog
{
public:
Dog(int value = 0) : m_value(value) {}
void show() {
cout << 'value ' << m_value << endl;
}
Dog& operator=(const Dog& dg);
Dog operator+(const Dog& dg);
friend Dog operator+(const Dog& dg1, const Dog& dg2);
friend ostream& operator<<(ostream& out, const Dog& dg) {
out << dg.m_value;
return out;
}
int m_value;
};
// 解释每行代码
// 定义一个名为 Dog 的类
class Dog
{
public:
// 类的成员变量为一个整数 m_value
int m_value;
// 构造函数,可以创建一个 Dog 对象,并将传入的参数赋值给 m_value
Dog(int value = 0) : m_value(value) {}
// 成员函数,打印出 m_value 的值
void show() {
cout << 'value ' << m_value << endl;
}
// 重载赋值运算符,用于将一个 Dog 对象的值赋给另一个 Dog 对象
Dog& operator=(const Dog& dg);
// 重载加法运算符,用于将两个 Dog 对象相加,并返回一个新的 Dog 对象
Dog operator+(const Dog& dg);
// 重载加法运算符,用于将两个 Dog 对象相加,并返回一个新的 Dog 对象
friend Dog operator+(const Dog& dg1, const Dog& dg2);
// 重载输出流运算符,用于将 Dog 对象的值输出到流中
friend ostream& operator<<(ostream& out, const Dog& dg) {
out << dg.m_value;
return out;
}
};
代码解释:
- 类定义:
class Dog定义了一个名为 Dog 的类。 - 成员变量:
int m_value;定义了一个整型成员变量m_value,用于存储 Dog 对象的值。 - 构造函数:
Dog(int value = 0) : m_value(value) {}是构造函数,用于创建 Dog 对象。它接收一个可选的整型参数value,并将其赋值给m_value。 - 成员函数:
void show() { cout << 'value ' << m_value << endl; }是一个成员函数,用于打印出 Dog 对象的m_value值。 - 运算符重载: 以下代码展示了对赋值运算符、加法运算符和输出流运算符的重载。
- 赋值运算符重载:
Dog& operator=(const Dog& dg);重载了赋值运算符=,用于将一个 Dog 对象的值赋给另一个 Dog 对象。 - 加法运算符重载 (成员函数):
Dog operator+(const Dog& dg);重载了加法运算符+,用于将两个 Dog 对象相加,并返回一个新的 Dog 对象。 - 加法运算符重载 (友元函数):
friend Dog operator+(const Dog& dg1, const Dog& dg2);重载了加法运算符+,用于将两个 Dog 对象相加,并返回一个新的 Dog 对象。 - 输出流运算符重载:
friend ostream& operator<<(ostream& out, const Dog& dg) { out << dg.m_value; return out; }重载了输出流运算符<<,用于将 Dog 对象的值输出到流中。
- 赋值运算符重载:
注意: 运算符重载的实现需要根据具体的逻辑编写相应的代码。
总结:
本示例展示了如何定义一个 C++ 类,并通过成员函数和运算符重载实现各种操作。通过学习此示例,您可以更好地理解 C++ 类定义和使用。
原文地址: https://www.cveoy.top/t/topic/qqg4 著作权归作者所有。请勿转载和采集!