当前位置: 首页 > news >正文

上海 网站备案代理网络设计山西分公司

上海 网站备案代理,网络设计山西分公司,内容营销公司,跨境电商平台下载文章目录 前言第一部分#xff1a;C中的类1.类的定义2.成员变量#xff08;属性#xff09;3.成员函数#xff08;方法#xff09;4.访问修饰符私有受保护公有 5.构造函数和析构函数成员初始化列表方法重载 6.继承7.多态8.友元 第二部分#xff1a;.c与.h文件头文件… 文章目录 前言第一部分C中的类1.类的定义2.成员变量属性3.成员函数方法4.访问修饰符私有受保护公有 5.构造函数和析构函数成员初始化列表方法重载 6.继承7.多态8.友元 第二部分.c与.h文件头文件.h 或 .hpp类定义结构体定义枚举函数原型宏定义类型定义常量定义作用 源文件.c 或 .cpp函数实现全局变量定义局部静态变量的定义作用 优势模块化编译效率封装减少编译时间注意事项 总结 前言 以上就是今天要讲的内容本文简单介绍了C中的类以及.c和.h文件的使用。 第一部分C中的类 C中的类Class是面向对象编程OOP的核心概念之一。类是一种用户定义的数据类型它封装了数据成员通常称为属性或字段和成员函数通常称为方法或操作。以下是C类的基本组成部分和详细介绍 1.类的定义 类定义以关键字 class 开始后跟类名和类体类体被大括号 {} 包围。类定义通常包括私有private或保护protected成员以及公有public成员。 class ClassName { private:// 私有成员属性和方法 protected:// 保护成员属性和方法 public:// 公有成员属性和方法 };2.成员变量属性 成员变量是类中定义的数据它们可以是任何类型包括基本类型、复合类型或用户定义的类型。 class Person { private:std::string name;int age; };3.成员函数方法 成员函数定义了类的行为它们可以访问类的成员变量。 class Person { public:void setName(const std::string newName) {name newName;}std::string getName() const {return name;}void setAge(int newAge) {age newAge;}int getAge() const {return age;} };4.访问修饰符 私有 私有private只有类内部的方法可以访问私有成员。 受保护 保护protected保护成员与私有成员类似但它们可以被派生类访问。 公有 公有public公有成员可以被类的外部代码访问。 5.构造函数和析构函数 构造函数用于初始化类的对象而析构函数用于在对象生命周期结束时执行清理工作。 class Person { public:Person(const std::string name, int age) : name(name), age(age) {}~Person() {}// 其他成员... };成员初始化列表 在构造函数中成员初始化列表用于初始化成员变量。 Person(const std::string name, int age) : name(name), age(age) {}方法重载 类中可以有多个同名的方法只要它们的参数列表不同即可。 class Person { public:void print() const {std::cout Name: name , Age: age;}void print(int indent) const {for (int i 0; i indent; i) std::cout ;print();}// 其他成员... };6.继承 类可以继承另一个类的成员提供代码重用的能力。 class Student : public Person { public:Student(const std::string name, int age, const std::string major): Person(name, age), major(major) {}// 新的方法和属性... private:std::string major; };7.多态 通过虚函数类可以实现多态允许使用基类指针或引用来调用派生类的函数。 class Person { public:virtual void introduce() const {std::cout I am a person.;}// 其他成员... };class Student : public Person { public:void introduce() const override {std::cout I am a student.;}// 其他成员... }; 8.友元 友元函数或类可以访问另一个类的私有或保护成员。 class Person {friend void printPerson(const Person p);// 其他成员... };void printPerson(const Person p) {std::cout p.name is p.age years old.; }类是C面向对象编程的基础通过使用类可以创建出结构清晰、易于维护和扩展的程序。上述只是类的基本概念实际上C类还包含许多高级特性如模板类、运算符重载、异常处理等大家感兴趣可以自己学习。 第二部分.c与.h文件 在C和C编程中通常将类的定义和实现分开存储在不同的文件中。这通常涉及到两个文件类型头文件.h 或 .hpp和源文件.c 或 .cpp。以下是它们各自的作用 头文件.h 或 .hpp 头文件通常包含以下内容 类定义 类定义包括类的成员变量和成员函数的声明。 结构体定义 结构体定义结构体的声明。 枚举 枚举定义枚举类型的声明。 函数原型 函数原型在源文件中定义的函数的****声明。 宏定义 宏定义预处理器宏的声明。 类型定义 类型定义使用 typedef 或 using 关键字定义的类型别名。 常量定义 常量定义常量的声明。 作用 头文件的作用是提供接口使得其他源文件可以包含和使用这些声明。通过在源文件中包含头文件编译器能够知道类、函数、宏等的类型和接口。 示例 // Person.h #ifndef PERSON_H #define PERSON_Hclass Person { public:Person(const std::string name, int age);~Person();void setName(const std::string newName);std::string getName() const;void setAge(int newAge);int getAge() const;private:std::string name;int age; };#endif // PERSON_H源文件.c 或 .cpp 源文件包含以下内容 函数实现 函数实现头文件中声明的函数的具体实现。 类成员函数的实现头文件中声明的类成员函数的具体实现。 全局变量定义 全局变量定义全局变量的定义和初始化。 局部静态变量的定义 局部静态变量的定义局部静态变量的定义和初始化。 作用 源文件的作用是提供实现即头文件中声明的函数和类的具体代码。 示例 // Person.cpp #include Person.hPerson::Person(const std::string name, int age) : name(name), age(age) {}Person::~Person() {}void Person::setName(const std::string newName) {name newName; }std::string Person::getName() const {return name; }void Person::setAge(int newAge) {age newAge; }int Person::getAge() const {return age; }优势 分离头文件和源文件的好处 模块化 模块化将**接口头文件和实现源文件**分开有助于代码的组织和管理。 编译效率 编译效率头文件中的内容通常不会频繁更改因此当头文件中的内容不变时只需要重新编译更改过的源文件而不需要重新编译所有包含该头文件的源文件。 封装 封装用户只需要知道如何使用接口通过头文件而不必关心内部实现细节。 减少编译时间 减少编译时间因为源文件是分开编译的所以编译器不需要在每个源文件中重新解析整个类定义。 注意事项 头文件应该包含保护宏如 #ifndef, #define, #endif以防止头文件被多次包含。 源文件通常不需要保护宏因为它们不会被其他文件包含。 在源文件中包含对应的头文件是必要的以确保类成员函数的实现与声明一致。 头文件中不应包含函数和类的定义之外的任何实现代码以避免链接时的问题。 总结 以上就是今天要讲的内容本文仅仅简单介绍了C中的类以及.c和.h文件的使用。
http://www.hkea.cn/news/14533789/

相关文章:

  • 域名服务器都有了怎么做网站网站建设中 目录是什么
  • 网站建设都有什么类型东莞网站域名注册
  • 国家建设部网站倪虹网页设计培训机构哪家好一些
  • 做网站用什么配置的笔记本90设计官方网站
  • wordpress怎么做两个语言网站建设网站需要注意什么
  • 免费做app和网站的平台有哪些中山精品网站建设讯息
  • 设计软件免费下载网站哈尔滨建设工程管理工资多少
  • 网站上传教程网站做关键词
  • 网站统计源码网站开发的基础是什么
  • 建设网站能挣钱吗wordpress空格消失
  • 好的建网站的公司南阳淅川县制作网站的公司
  • 做微信的网站火车头发布wordpress带磁力链
  • 建设北京公司网站网站无障碍建设规定
  • 做网站时的电话图标旅游景区网站建设规划方案
  • 网站首页制作教程视频长沙微网站制作
  • tp框架可以做网站吗h5游戏折扣平台app
  • 手机测评网站企业网站多大空间够用
  • 乐清做网站公司小程序免费制作平台有吗
  • 做网站你们用什么浏览器现代著名设计师及作品
  • 潍坊搜易网站建设vf建设银行网站
  • 二级建造师最好的网站plone wordpress
  • 网站管理人员队伍建设有待加强江门关键词优化广告
  • 建设银行官方网站个人系统板块修改路得威网站谁做的
  • flash网站模版制作的网站
  • 经营阅读网站需要怎么做网站建设代码好难啊
  • 做网站教材成都网站设计开发公司
  • 嘉兴外贸网站建设精美网页模板
  • 中国最好的建站公司wordpress加个微信登录
  • 营销型网站建设必须的步骤包括大连app开发制作
  • 交易平台网站建设策划书CQ网站建设