📅  最后修改于: 2023-12-03 14:39:54.158000             🧑  作者: Mango
在 C++ 中,类是一种用户自定义的数据类型,可以用于封装数据和函数。类中的数据成员和成员函数可以通过对象来访问。在本文中,我们将介绍如何声明和定义类,以及如何创建类的对象和使用类的成员。
声明一个类需要使用 class
关键字,例如:
class Person {
public:
// 数据成员
string name;
int age;
// 成员函数
void sayHi() {
cout << "Hi, my name is " << name << ", and I am " << age << " years old." << endl;
}
};
上面的代码声明了一个名为 Person
的类,其中包含两个数据成员(姓名 name
和年龄 age
)和一个成员函数(打招呼 sayHi
)。
如果要使用一个类,必须先创建该类的对象。下面是创建 Person
类的对象的示例:
int main() {
// 创建对象
Person p;
// 访问数据成员
p.name = "Tom";
p.age = 18;
// 调用成员函数
p.sayHi();
return 0;
}
在这个示例中,我们定义了一个 main
函数,该函数创建了一个 Person
类的对象 p
。然后,我们访问了 p
的数据成员 name
和 age
,并调用了 sayHi
方法。
C++ 中的类成员可以有三种不同的访问权限:
public
:可以从类外部访问private
:只能从类内部访问protected
:可以从类内部和子类中访问默认情况下,所有的成员都是 private
的。如果要将某些成员变成 public
或者 protected
,可以使用对应的修饰符。
class Person {
public:
// 公有数据成员和成员函数
string name;
private:
// 私有数据成员和成员函数
int age;
protected:
// 保护数据成员和成员函数
bool gender;
};
构造函数和析构函数是类中的两个重要成员函数。每当创建一个类的对象时,构造函数会自动调用。
构造函数的主要作用是初始化类的对象。如果你没有显式地声明构造函数,C++ 会默认提供一个无参构造函数。如果需要,你也可以声明自己的构造函数:
class Person {
public:
string name;
int age;
// 声明构造函数
Person(string name, int age) {
this->name = name;
this->age = age;
}
void sayHi() {
cout << "Hi, my name is " << name << ", and I am " << age << " years old." << endl;
}
};
上面的代码定义了一个带有两个参数的构造函数,它可以在创建 Person
对象时对其进行初始化。
析构函数的作用与构造函数相反。当类的对象被销毁时,析构函数会自动调用。在析构函数中,通常释放对象使用的内存和其它资源。
class Person {
public:
string name;
int age;
~Person() {
cout << name << " is destroyed." << endl;
}
void sayHi() {
cout << "Hi, my name is " << name << ", and I am " << age << " years old." << endl;
}
};
上面的代码定义了一个析构函数,它在 Person
类对象被销毁时输出一条消息。
在本文中,我们介绍了 C++ 中的类和对象。我们讨论了如何声明和定义类,如何创建类的对象和访问类的成员,以及如何使用构造函数和析构函数。如果需要更深入的学习,可以参考C++官方文档或者相关书籍。
返回markdown格式:
在 C++ 中,类是一种用户自定义的数据类型,可以用于封装数据和函数。类中的数据成员和成员函数可以通过对象来访问。在本文中,我们将介绍如何声明和定义类,以及如何创建类的对象和使用类的成员。
声明一个类需要使用 class
关键字,例如:
class Person {
public:
// 数据成员
string name;
int age;
// 成员函数
void sayHi() {
cout << "Hi, my name is " << name << ", and I am " << age << " years old." << endl;
}
};
上面的代码声明了一个名为 Person
的类,其中包含两个数据成员(姓名 name
和年龄 age
)和一个成员函数(打招呼 sayHi
)。
如果要使用一个类,必须先创建该类的对象。下面是创建 Person
类的对象的示例:
int main() {
// 创建对象
Person p;
// 访问数据成员
p.name = "Tom";
p.age = 18;
// 调用成员函数
p.sayHi();
return 0;
}
在这个示例中,我们定义了一个 main
函数,该函数创建了一个 Person
类的对象 p
。然后,我们访问了 p
的数据成员 name
和 age
,并调用了 sayHi
方法。
C++ 中的类成员可以有三种不同的访问权限:
public
:可以从类外部访问private
:只能从类内部访问protected
:可以从类内部和子类中访问默认情况下,所有的成员都是 private
的。如果要将某些成员变成 public
或者 protected
,可以使用对应的修饰符。
class Person {
public:
// 公有数据成员和成员函数
string name;
private:
// 私有数据成员和成员函数
int age;
protected:
// 保护数据成员和成员函数
bool gender;
};
构造函数和析构函数是类中的两个重要成员函数。每当创建一个类的对象时,构造函数会自动调用。
构造函数的主要作用是初始化类的对象。如果你没有显式地声明构造函数,C++ 会默认提供一个无参构造函数。如果需要,你也可以声明自己的构造函数:
class Person {
public:
string name;
int age;
// 声明构造函数
Person(string name, int age) {
this->name = name;
this->age = age;
}
void sayHi() {
cout << "Hi, my name is " << name << ", and I am " << age << " years old." << endl;
}
};
上面的代码定义了一个带有两个参数的构造函数,它可以在创建 Person
对象时对其进行初始化。
析构函数的作用与构造函数相反。当类的对象被销毁时,析构函数会自动调用。在析构函数中,通常释放对象使用的内存和其它资源。
class Person {
public:
string name;
int age;
~Person() {
cout << name << " is destroyed." << endl;
}
void sayHi() {
cout << "Hi, my name is " << name << ", and I am " << age << " years old." << endl;
}
};
上面的代码定义了一个析构函数,它在 Person
类对象被销毁时输出一条消息。
在本文中,我们介绍了 C++ 中的类和对象。我们讨论了如何声明和定义类,如何创建类的对象和访问类的成员,以及如何使用构造函数和析构函数。如果需要更深入的学习,可以参考C++官方文档或者相关书籍。