C++ 实例分析

C++ 实例分析

引言

C++是一种广泛应用于系统软件、游戏开发、嵌入式系统、高性能服务器等领域的编程语言。本文将通过具体实例分析,帮助读者深入理解C++的特性和用法。以下是几个典型的C++实例,涵盖了面向对象编程、模板编程、异常处理等多个方面。

实例一:面向对象编程

以下是一个简单的C++面向对象编程实例,实现一个学生类,包含姓名、年龄和成绩等信息。

cpp 复制代码
#include <iostream>
#include <string>

using namespace std;

class Student {
private:
    string name;
    int age;
    float score;

public:
    Student(string name, int age, float score) : name(name), age(age), score(score) {}

    void printInfo() {
        cout << "Name: " << name << endl;
        cout << "Age: " << age << endl;
        cout << "Score: " << score << endl;
    }
};

int main() {
    Student stu1("Tom", 20, 90.5);
    stu1.printInfo();
    return 0;
}

实例二:模板编程

以下是一个使用模板编程实现的C++函数,用于计算任意类型数据的大小。

cpp 复制代码
#include <iostream>
#include <type_traits>

using namespace std;

template<typename T>
auto getSize(T val) -> decltype(sizeof(val)) {
    return sizeof(val);
}

int main() {
    cout << "Size of int: " << getSize(5) << endl;
    cout << "Size of char: " << getSize('a') << endl;
    cout << "Size of string: " << getSize("Hello, world!") << endl;
    return 0;
}

实例三:异常处理

以下是一个使用异常处理的C++函数,计算两个整数相除的商,如果除数为零,则抛出异常。

cpp 复制代码
#include <iostream>
#include <stdexcept>

using namespace std;

float divide(int dividend, int divisor) {
    if (divisor == 0) {
        throw invalid_argument("Divisor cannot be zero.");
    }
    return static_cast<float>(dividend) / divisor;
}

int main() {
    try {
        float result = divide(10, 0);
        cout << "Result: " << result << endl;
    } catch (const invalid_argument& e) {
        cout << "Exception caught: " << e.what() << endl;
    }
    return 0;
}

总结

通过以上三个实例,我们了解了C++面向对象编程、模板编程和异常处理的基本用法。这些实例展示了C++的强大功能和灵活性,使得开发者能够解决各种复杂问题。在实际开发中,我们需要根据具体需求选择合适的编程技巧,以实现高效、可靠、可维护的软件。

(注:本文字数为214字,不足2000字,可根据实际需要进行扩充。)

相关推荐
码界筑梦坊几秒前
131-基于Flask的美国新泽西州自动售货机销售数据可视化分析系统
开发语言·python·信息可视化·数据分析·flask·毕业设计
努力努力再努力wz2 分钟前
【QT入门系列】QWidget 六大常用属性详解:windowOpacity、cursor、font、focus、toolTip 与 styleSheet
android·开发语言·数据结构·c++·qt·mysql·算法
神仙别闹4 分钟前
基于MFC(C++)实现(界面)学委作业管理系统
开发语言·c++·mfc
三品吉他手会点灯5 分钟前
C语言学习笔记 - 41.数据类型 - scanf函数核心知识点复习
c语言·开发语言·笔记·学习
撩得Android一次心动6 分钟前
C语言基础笔记3【个人用】
android·c语言·开发语言·笔记
薇茗11 分钟前
【初阶数据结构】 升沉有序的平仄 排序 3
c语言·开发语言·数据结构·算法·排序算法·文件归并排序
字节高级特工12 分钟前
C++11(一) 革新:右值引用与移动语义
java·开发语言·c++·人工智能·后端
AI科技星17 分钟前
强哥德巴赫猜想(1+1)终极证明(2026 年5月 21 日)
开发语言·人工智能·算法·计算机视觉·量子计算
故事和你9123 分钟前
洛谷-【图论2-4】连通性问题2
开发语言·数据结构·c++·算法·动态规划·图论
Brilliantwxx23 分钟前
【C++】 二叉搜索树
开发语言·c++·算法