C++知识点总结

一、基本语法

C++语言是一门基于C语言的编程语言,因此C++的基本语法与C语言相似,主要包括以下几个方面:

1. 数据类型

C++的数据类型可以分为基本数据类型和衍生数据类型两种。其中,基本数据类型包括整型、浮点型、字符型、布尔型和空类型,衍生数据类型包括数组、指针、结构体、共用体和枚举类型。

//示例代码:定义一个整型变量和一个指向整型变量的指针
int num = 10;
int *ptr = #

2. 控制语句

C++的控制语句包括顺序结构、分支结构和循环结构。其中,常用的分支结构有if语句和switch语句,常用的循环结构有while循环、do-while循环和for循环。

//示例代码:使用for循环输出1~10的数字
for(int i=1;i<=10;i++)
{
    cout<<i<<endl;
}

3. 函数

在C++中,可以通过定义函数来实现代码的复用。函数的定义包括函数类型、函数名、参数列表和函数体,其中参数列表可以为空,函数体可以返回一个值。

//示例代码:定义一个函数,返回两个数的和
int sum(int a,int b)
{
    return a+b;
}

二、面向对象编程

C++是一门面向对象编程的语言,支持封装、继承和多态等特性。

1. 封装

封装是C++面向对象编程中的一个重要特性,它可以将数据和操作数据的函数封装在一起,实现数据的保护和隐藏,避免数据的不合法访问。

//示例代码:定义一个封装了数据和访问函数的类
class Student {
private:
    string name;
    int age;
public:
    string getName() {
        return name;
    }
    void setName(string n) {
        name = n;
    }
    int getAge() {
        return age;
    }
    void setAge(int a) {
        age = a;
    }
};

2. 继承

继承是C++面向对象编程的另一个重要特性,它可以通过建立类之间的继承关系,实现代码的重用和灵活性的提高。

//示例代码:定义一个继承自Student类的Undergraduate类
class Undergraduate: public Student {
private:
    string major;
public:
    string getMajor() {
        return major;
    }
    void setMajor(string m) {
        major = m;
    }
};

3. 多态

多态是C++面向对象编程的另一个重要特性,它可以实现函数的重载和虚函数的运行时绑定,提高程序的灵活性和可扩展性。

//示例代码1:实现函数的重载
int sum(int a,int b)
{
    return a+b;
}
double sum(double a,double b)
{
    return a+b;
}

//示例代码2:定义一个含有虚函数的类
class Shape {
public:
    virtual double area() {
        return 0;
    }
};

class Circle: public Shape {
private:
    double r;
public:
    Circle(double radius): r(radius) {}
    virtual double area() {
        return r*r*3.14;
    }
};

class Rectangle: public Shape {
private:
    double x,y;
public:
    Rectangle(double a,double b): x(a),y(b) {}
    virtual double area() {
        return x*y;
    }
};

三、STL库

STL(Standard Template Library)是C++标准库中的一个重要组成部分,提供了许多功能强大的容器类和算法,可以大大提高程序开发的效率。

1. 容器类

容器类是STL库中的一个重要概念,包括vector、list、map等多种类型,每种类型都有自己的特点和适用范围。

//示例代码:定义一个vector容器,并将元素插入其中
vector v;
v.push_back(1);
v.push_back(2);
v.push_back(3);

2. 算法

算法是STL库中的另一个重要概念,包括排序、查找、复制、统计等多种操作,可以轻松实现对容器的操作。

//示例代码:使用算法对vector容器进行排序
vector v;
v.push_back(3);
v.push_back(2);
v.push_back(1);
sort(v.begin(),v.end());

四、文件操作

C++支持对文件进行读写操作,可以实现对外部文件的读取和写入。

1. 文件读取

文件读取是C++操作文件的一种常用方式,可以打开文件并读取其中的内容。

//示例代码:打开文件,并读取其中的内容
ifstream in("test.txt");
if(!in.is_open()) {
    cout<<"Open file failed!"<<endl;
} else {
    string s;
    while(getline(in,s)) {
        cout<<s<<endl;
    }
}
in.close();

2. 文件写入

文件写入是C++操作文件的另一种常用方式,可以打开文件并将内容写入其中。

//示例代码:打开文件,并将内容写入其中
ofstream out("test.txt",ofstream::app);
if(!out.is_open()) {
    cout<<"Open file failed!"<<endl;
} else {
    out<<"Hello world!";
}
out.close();

五、异常处理

C++支持异常处理机制,可以通过捕获异常和抛出异常来处理程序中出现的异常情况。

1. 捕获异常

捕获异常是C++中对异常进行处理的一种方法,可以通过try-catch语句捕获可能发生异常的代码块,并进行处理。

//示例代码:捕获异常并进行处理
try {
    int a,b;
    cin>>a>>b;
    if(b==0) {
        throw "Divisor can not be zero!";
    } else {
        cout<<a/b<<endl;
    }
} catch(const char* e) {
    cout<<e<<endl;
}

2. 抛出异常

抛出异常是C++中对异常进行处理的另一种方法,可以通过throw语句抛出异常,并在程序的其他位置进行处理。

//示例代码:抛出异常并在另一个函数中进行处理
int divide(int a,int b) {
if(b==0) {
throw "Divisor can not be zero!";
} else {
return a/b;
}
}

int main() {
try {
int a,b;
cin>>a>>b;
cout<

原创文章,作者:JWLDF,如若转载,请注明出处:https://www.506064.com/n/366254.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
JWLDFJWLDF
上一篇 2025-04-02 01:02
下一篇 2025-04-02 01:02

相关推荐

  • 软件设计师知识点详解

    一、面向对象设计 面向对象编程(OOP)是一种编程思想,也是现今被广泛应用的一种编程范式。它包括类、对象、封装、继承、多态等概念。 封装是OOP的一个核心概念,它在软件开发中起到了…

    编程 2025-04-24
  • Java基础知识点笔记

    一、数据类型 Java中的数据类型可以分为:整型、浮点型、字符型和布尔型。其中,整型包括byte、short、int和long,分别表示不同范围的整数,如byte表示-128到12…

    编程 2025-04-22
  • python基础知识点集锦一的简单介绍

    本文目录一览: 1、Python 基础知识全篇-列表(Lists) 2、python主要学习哪些知识点? 3、python基础语法知识询问 4、没学过Python先要学习哪些基础知…

    编程 2025-01-14
  • mysql数据库知识点6,mysql数据库考点

    本文目录一览: 1、MySQL知识点总结 2、mysql数据库 3、mysql基本操作有哪些 4、mysql 核心内容-上 5、mysql的特点是什么? MySQL知识点总结 只要…

    编程 2025-01-13
  • mysql数据库基本知识,mysql数据库基本知识点总结

    本文目录一览: 1、MySQL知识点总结 2、sql数据库基础知识 3、mysql数据库的存放位置在哪里 4、Mysql是一种什么类型的数据库 5、什么是MySql数据库 6、my…

    编程 2025-01-13
  • golang模块总结,golang知识点总结

    本文目录一览: 1、golang 有哪些比较稳定的 web 开发框架 2、组件分享之后端组件——一款基于Golang的认证全套模块Casdoor 3、深入理解golang 4、面试…

    编程 2025-01-09
  • python易忘知识点记录的简单介绍

    本文目录一览: 1、python主要学习哪些知识点? 2、没学过Python先要学习哪些基础知识? 3、学习Python需要掌握哪些知识? 4、python基础知识有哪些需要背(记…

    编程 2025-01-04
  • 部分java基础知识区别分析,java基础知识点csdn

    本文目录一览: 1、java 2和java有什么区别 2、java 初级、中级、高级工程师有什么区别? 3、java基础知识有哪些 java 2和java有什么区别 Java是一种…

    编程 2025-01-03
  • Android读写文件权限相关知识点

    一、文件读写权限简介 在Android系统中,应用程序之间的文件访问权限是独立的,每个应用程序都只能访问自己的数据,如果需要访问其他应用程序的数据,则需要通过特定的权限来访问。在A…

    编程 2025-01-02
  • python知识点与应用的简单介绍

    本文目录一览: 1、python怎么学习? 2、python语言基础知识有哪些? 3、python主要学习哪些知识点? 4、学习Python应该掌握哪些知识点 python怎么学习…

    编程 2024-12-29

发表回复

登录后才能评论