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

网站代理 正规备案百度网站链接提交入口

网站代理 正规备案,百度网站链接提交入口,本地dedecms网站,国外手机模板网站文章目录 前言第一部分:C中的类1.类的定义2.成员变量(属性)3.成员函数(方法)4.访问修饰符私有受保护公有 5.构造函数和析构函数成员初始化列表方法重载 6.继承7.多态8.友元 第二部分:.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.h"Person::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.hyszgw.com/news/71145.html

相关文章:

  • 电子商务网站购物车怎么做苏州网站设计营销公司
  • 青浦网站制作榆林建设局网站
  • wordpress 5.0多站点php可以做视频网站
  • 网站里面的图片做桌面不清晰网站开发工程师优势
  • 哪里有免费的wordpress主题企业网站产品分类多怎么做seo
  • html网页制作代码大全简易版seo网站快速排名
  • 设计企业网站多少钱wdcp 安装wordpress
  • 广州手机建设网站网站开发摊销多少年
  • 多用户网上商城系统泰州网站快速排名优化
  • 别样网站建设梧州专业网站推广
  • 网站关键词密度是怎么计算的企业营销型网站策划书
  • 创建平台网站下载链接个人网站的留言板怎么做
  • 菏泽做网站营销网站的推广
  • 个人网站网页首页wordpress同步twitter
  • 手机网站前端设计wordpress说说
  • 有没有什么免费的网站孝感建设银行网站
  • 网站建设 兼职 外包长沙装修公司排名前十口碑推荐
  • 云免网站空间长治网站建设收费多少
  • 网站建设实习生怎么样如何做收费影视资源网站
  • 成都租车公司网站合肥网站建设需
  • 廊坊高端网站制作网站备案状态查询
  • php实验报告企业网站开发微信小程序怎么做?
  • 太原网站建设杰迅科技微信网站是怎么做的
  • 做网站的参考书做数据图表网站
  • wap站wordpress插件上传
  • 深圳住房城乡建设局网站wordpress阿里云储存
  • 国产前端框架 做网站网站中的搜索功能怎么做
  • 有没有专业做电视测评的网站c2c模式的企业有哪些
  • 营销型网站的概念计算机培训班学什么
  • 高端定制网站速度wordpress网站手机端