医疗网站建设咨询,如何成功开展网络营销,app仿制,网页设计师证书怎么查询在 C 中#xff0c;类#xff08;class#xff09;和对象#xff08;object#xff09;是面向对象编程#xff08;OOP#xff09;的核心概念。类是一种用户自定义的数据类型#xff0c;它将数据#xff08;成员变量#xff09;和操作这些数据的函数#xff08;成员函…在 C 中类class和对象object是面向对象编程OOP的核心概念。类是一种用户自定义的数据类型它将数据成员变量和操作这些数据的函数成员函数封装在一起。对象则是类的实例通过创建对象可以使用类中定义的成员变量和成员函数。下面详细介绍 C 中类和对象的相关知识。
1. 类的定义
类的定义使用 class 关键字其基本语法如下
class 类名 {// 访问修饰符public、private、protectedpublic:// 公有成员外部可以直接访问// 成员变量数据类型 成员变量名;// 成员函数声明返回类型 成员函数名(参数列表);private:// 私有成员外部不能直接访问只能通过公有成员函数访问数据类型 成员变量名;protected:// 受保护成员在派生类中可以访问数据类型 成员变量名;
}; // 注意这里的分号不能省略示例代码
#include iostream// 定义一个名为 Person 的类
class Person {
public:// 公有成员变量std::string name;int age;// 公有成员函数用于显示信息void displayInfo() {std::cout 姓名: name , 年龄: age std::endl;}
};2. 对象的创建和使用
定义好类之后就可以创建该类的对象并使用对象来访问类的成员变量和成员函数。创建对象的语法如下
类名 对象名;示例代码
#include iostreamclass Person {
public:std::string name;int age;void displayInfo() {std::cout 姓名: name , 年龄: age std::endl;}
};int main() {// 创建 Person 类的对象Person person1;// 访问对象的成员变量并赋值person1.name 张三;person1.age 20;// 调用对象的成员函数person1.displayInfo();return 0;
}3. 构造函数和析构函数
构造函数是一种特殊的成员函数用于在创建对象时初始化对象的成员变量。构造函数的名称与类名相同没有返回类型。析构函数也是一种特殊的成员函数用于在对象销毁时进行一些清理工作。析构函数的名称是在类名前加上波浪号 ~同样没有返回类型。
示例代码
#include iostreamclass Person {
public:std::string name;int age;// 构造函数Person(std::string n, int a) {name n;age a;std::cout 对象已创建 std::endl;}// 析构函数~Person() {std::cout 对象已销毁 std::endl;}void displayInfo() {std::cout 姓名: name , 年龄: age std::endl;}
};int main() {// 使用构造函数创建对象Person person(李四, 25);person.displayInfo();return 0;
}4. 访问修饰符
C 中有三种访问修饰符
public公有成员可以在类的外部直接访问。private私有成员只能在类的内部访问外部不能直接访问通常通过公有成员函数来间接访问。protected受保护成员在类的内部和派生类中可以访问外部不能直接访问。
示例代码
#include iostreamclass Person {
private:std::string name;int age;public:// 构造函数Person(std::string n, int a) {name n;age a;}// 公有成员函数用于获取私有成员变量的值void displayInfo() {std::cout 姓名: name , 年龄: age std::endl;}
};int main() {Person person(王五, 30);// 不能直接访问私有成员变量// person.name 赵六; // 错误person.displayInfo();return 0;
}5. 成员函数的实现
成员函数可以在类的定义中直接实现也可以在类的外部实现。在类的外部实现成员函数时需要使用作用域解析运算符 ::。
示例代码
#include iostreamclass Person {
private:std::string name;int age;public:Person(std::string n, int a);void displayInfo();
};// 在类的外部实现构造函数
Person::Person(std::string n, int a) {name n;age a;
}// 在类的外部实现成员函数
void Person::displayInfo() {std::cout 姓名: name , 年龄: age std::endl;
}int main() {Person person(孙七, 35);person.displayInfo();return 0;
}通过以上内容你可以了解 C 中类和对象的基本概念、定义和使用方法。类和对象是 C 面向对象编程的基础掌握它们对于编写复杂的程序非常重要。