最早做美食团购的网站培训机构加盟
- 作者: 五速梦信息网
- 时间: 2026年03月21日 04:57
当前位置: 首页 > news >正文
最早做美食团购的网站,培训机构加盟,创办网站需要怎么做,公司 网站建设 简介1 类的定义
在C中#xff0c;类的定义通常使用class关键字开始#xff0c;后面紧跟类的名称。类可以包含数据成员#xff08;变量#xff09;和成员函数#xff08;方法#xff09;。
在C中#xff0c;类可以更加详细地展开#xff0c;包括数据成员#xff08;变量中类的定义通常使用class关键字开始后面紧跟类的名称。类可以包含数据成员变量和成员函数方法。
在C中类可以更加详细地展开包括数据成员变量的声明、成员函数的声明与定义、构造函数、析构函数、内联成员函数、静态成员、友元函数等。类定义的语法格式
// ClassName类名
class ClassName
{
public:// 公共构造函数ClassName(); // 默认构造函数ClassName(const ClassName other); // 拷贝构造函数~ClassName(); // 析构函数// 公共成员函数包括内联函数void publicFunction();void anotherPublicFunction() const; // const成员函数static void staticPublicFunction(); // 静态成员函数// 公共成员变量通常不推荐因为破坏了封装性int publicVariable;// 友元函数和友元类friend void friendFunction(ClassName obj);friend class FriendClass;protected:// 受保护成员函数void protectedFunction();// 受保护成员变量int protectedVariable;private:// 私有成员函数void privateFunction();// 私有成员变量int privateVariable;// 私有静态成员变量static int privateStaticVariable;// 私有静态成员函数static void privateStaticFunction();// 类内定义成员函数内联函数inline void inlineFunction() {// 函数体}// 类的嵌套类class NestedClass {// NestedClass 的定义};
};
其中 构造函数和析构函数用于对象的初始化和清理。 成员函数可以是公共的、受保护的或私有的。 静态成员函数和变量属于类本身而不是类的任何特定对象。 友元函数和友元类可以访问类的私有和保护成员。 内联函数通过在调用点插入函数体的复制品来提高执行速度适合函数体简短且调用频繁的情况。 嵌套类是在另一个类内部定义的类。
类的定义通常放在头文件中类的实现放在源码文件cpp。例如学生的定义与实现 student.h学生类的定义
// student.h
#ifndef STUDENT_H
#define STUDENT_H#include stringclass Student
{
public:// 构造函数Student(const std::string name, int age, int num);// 析构函数~Student();// 公共成员函数void DisplayInfo() const;// 获取成员变量的函数// 获取姓名inline std::string GetName() const;// 获取年龄inline int GetAge() const;// 获取学号inline int GetNum() const;// 设置成员变量的函数// 设置姓名inline void SetName(const std::string name);// 设置年龄inline void SetAge(const int age);// 设置学号inline void SetNum(const int num);private:// 私有成员变量std::string _name; // 姓名int _age; // 年龄int _num; // 学号
};#endif // STUDENT_H student.cpp学生类的实现
// student.cpp
#include student.h
#include iostream// 构造函数
Student::Student(const std::string name, int age, int num) : _name(name), _age(age), _num(num)
{std::cout Student构造函数 std::endl;
}// 析构函数在这个简单的例子中析构函数是空的
Student::~Student()
{std::cout Student析构函数 std::endl;
}// 显示学生信息
void Student::DisplayInfo() const
{std::cout 该学生姓名 _name 年龄 _age 学号 _num std::endl;
}// 获取学生姓名
std::string Student::GetName() const
{return _name;
}// 获取年龄
int Student::GetAge() const
{return _age;
}// 获取学号
int Student::GetNum() const
{return _num;
}// 设置姓名
void Student::SetName(const std::string name)
{_name name;
} // 设置年龄
void Student::SetAge(const int age)
{_age age;
}// 设置学号
void Student::SetNum(const int num)
{_num num;
} main.cpp学生对象的定义及使用
// main.cpp
#include iostream
#include student.hint main()
{// 创建学生对象Student student(Jack, 25);// 调用成员函数student.DisplayInfo();std::cout 该学生对象的名字: student.GetName() std::endl;// 修改学生年龄student.SetAge(22);// 再次调用成员函数student.DisplayInfo();return 0;
}
2 类的封装
C 类的封装是面向对象编程中的一个核心概念它指的是将数据成员变量和行为成员函数结合在一起的机制并隐藏内部实现细节只暴露出一个可以被外界访问和使用的接口。封装可以提高安全性和易于维护因为它限制了对类内部数据的直接访问只允许通过类提供的成员函数来操作数据。
为了实现封装C提供了访问修饰符public、private、protected来控制类成员的访问权限。访问修饰符对类、派生类及对象具有不同的访问权限如下表所示
访问修饰符类内部派生类内部对象外部示例public可访问可访问可访问成员在类的外部和内部都可以被访问。private可访问不可访问不可访问成员只能在类的内部被访问对象和派生类都无法直接访问protected可访问可访问不可访问成员在类的内部和派生类中可以被访问但对象无法直接访问
#include iostreamclass Person
{
public:void SetName(const std::string name) { // 公有成员函数_name name;}std::string GetName() const { // 公有成员函数return _name;}protected:// 受保护成员函数void SetAge(int age) {_age age;} protected:// 受保护成员变量int _age; private:// 私有成员变量 std::string _name;
};int main()
{Person person;// 对象无法直接访问私有成员// person._name Alice;// 对象可以访问公有成员函数person.SetName(Jack);std::cout person.GetName() std::endl;// 对象无法直接访问受保护成员// person._age 10; // 错误受保护成员无法访问return 0;
}
3 类的访问修饰符
在C中类的访问修饰符主要用于控制类成员包括数据成员和成员函数的访问权限。这些修饰符主要有四种public、protected、private和默认的default。其中 public公共访问修饰符 访问权限最高级别的访问权限。 作用允许类的任何对象以及任何其他代码访问该类的成员无论是数据成员还是成员函数。 使用场景通常用于提供类的外部接口即允许外部代码调用的成员函数或访问的数据成员。 protected受保护的访问修饰符 访问权限次高级别的访问权限。 作用允许类的对象、派生类子类以及类的内部代码访问该类的成员。 使用场景通常用于实现继承时在基类中定义一些需要被子类访问但不需要被外界访问的成员。 private私有的访问修饰符 访问权限最低级别的访问权限。 作用只允许类的内部代码访问该类的成员。 使用场景通常用于隐藏类的内部实现细节确保数据的封装性。 default默认访问修饰符 访问权限包package级别的访问权限。 作用允许同一包package中的其他类访问该类的成员但不允许包外的类访问。
表格形式总结一下详见下表
访问修饰符访问权限类内部派生类内部类的对象同包其他类说明public公有可访问可访问可访问可访问允许外部访问protected受保护可访问可访问不可访问不可访问允许派生类访问private私有可访问不可访问不可访问不可访问仅允许类内部访问
注意在C中没有明确的default关键字来表示包私有访问这里的default仅用于类比代表类内部和同一包内其他类可以访问但对象和包外类无法访问。在C中如果一个成员没有被显式声明为public、protected或private那么它的访问级别就是private。
- 上一篇: 最早做美食团购的网站wordpress微信设置密码
- 下一篇: 最专业的礼品网站实例招聘网找工作






