首页 > 编程语言 >C++入门:掌握基本语法和面向对象编程

C++入门:掌握基本语法和面向对象编程

时间:2023-12-01 22:06:31浏览次数:51  
标签:status task 入门 title int self C++ 面向对象编程

C++入门:掌握基本语法和面向对象编程

C++是一种通用的、高级的编程语言,广泛应用于开发各种应用程序。对于初学者来说,掌握C++的基本语法和面向对象编程是一个重要的起点。本篇博客将介绍C++的基本语法和面向对象编程的基本概念。

了解C++的基本语法

注释

在C++中,你可以使用两种方式添加注释:

  • 单行注释:使用//来添加注释,该行之后的内容将被忽略。
  • 多行注释:使用/* ... */将一段代码包裹起来作为注释,其中所有的内容都将被忽略。
cppCopy code
// 这是一个单行注释
int x = 10; // 这是一个包含注释的代码
/*
这是一个多行注释
可以跨越多行
*/

常用的数据类型

C++提供了多种数据类型,包括整数、浮点数和字符等。

  • 整数类型:intcharshortlong等。
  • 浮点数类型:floatdouble
  • 字符类型:char
  • 布尔类型:bool,表示真 (true) 或假 (false)。
cppCopy code
int age = 25;
float price = 10.99;
char grade = 'A';
bool isDone = true;

变量和常量

在C++中,你可以创建变量和常量来存储数据。变量是可变的,可以在程序中被更改,而常量是不可变的。

cppCopy code
int x = 5; // 变量
const int y = 10; // 常量
x = 7; // 变量可以被更改
y = 12; // 错误!常量不可更改

控制流

控制流用于控制程序的执行流程。以下是C++中常用的控制流语句:

  • 条件语句:ifelse ifelse
  • 循环语句:forwhiledo-while
cppCopy code
int x = 5;
// 条件语句
if (x > 10) {
    cout << "x 大于 10" << endl;
} else if (x > 5) {
    cout << "x 大于 5" << endl;
} else {
    cout << "x 小于等于 5" << endl;
}
// 循环语句
for (int i = 0; i < 5; i++) {
    cout << i << endl;
}
int i = 0;
while (i < 5) {
    cout << i << endl;
    i++;
}
int j = 0;
do {
    cout << j << endl;
    j++;
} while (j < 5);

函数

函数是C++中的一个重要概念,用于封装可重用的代码块。你可以创建自己的函数,并在程序中进行调用。

cppCopy code
// 定义一个函数
int add(int a, int b) {
    return a + b;
}
// 调用函数
int result = add(3, 5);
cout << result << endl;

理解面向对象编程(OOP)

面向对象编程是一种编程范式,通过将数据和对数据的操作封装在一起,以对象的形式进行编程。

类和对象

在面向对象编程中,类是用于定义对象的蓝图,而对象是由类创建的实例。

cppCopy code
// 定义一个类
class Person {
    public:
        string name;
        int age;
};
// 创建对象
Person person1;
person1.name = "John";
person1.age = 25;

封装

封装是面向对象编程中的一个重要概念,它可以隐藏对象的内部实现细节,并通过公共接口来访问对象。

cppCopy code
class Person {
    private:
        string name;
        int age;
    public:
        void setName(string n) {
            name = n;
        }
        string getName() {
            return name;
        }
        void setAge(int a) {
            age = a;
        }
        int getAge() {
            return age;
        }
};
Person person1;
person1.setName("John");
person1.setAge(25);
cout << person1.getName() << endl; // 输出:John
cout << person1.getAge() << endl; // 输出:25

继承

继承允许一个类从另一个类继承属性和方法。继承可以创建出一种层次结构,方便代码的重用和扩展。

cppCopy code
// 定义一个基类
class Animal {
    public:
        void eat() {
            cout << "吃饭" << endl;
        }
};
// 定义一个派生类
class Dog : public Animal {
    public:
        void bark() {
            cout << "汪汪叫" << endl;
        }
};
Dog dog1;
dog1.eat(); // 输出:吃饭
dog1.bark(); // 输出:汪汪叫

本篇博客介绍了C++的基本语法和面向对象编程的基本概念。通过掌握这些知识,你将能够开始编写简单的C++程序,并为未来的学习打下基础。希望本篇博客对你入门C++有所帮助!


示例代码:购物车应用程序

下面是一个简单的购物车应用程序的示例代码,用于演示C++的基本语法和面向对象编程的应用。

cppCopy code
#include <iostream>
#include <vector>
using namespace std;
// 定义产品类
class Product {
    public:
        string name;
        double price;
        int quantity;
        Product(string n, double p, int q) {
            name = n;
            price = p;
            quantity = q;
        }
        double getTotalPrice() {
            return price * quantity;
        }
};
// 定义购物车类
class ShoppingCart {
    public:
        vector<Product> products;
        void addProduct(string name, double price, int quantity) {
            Product newProduct(name, price, quantity);
            products.push_back(newProduct);
        }
        double calculateTotalPrice() {
            double totalPrice = 0;
            for (int i = 0; i < products.size(); i++) {
                totalPrice += products[i].getTotalPrice();
            }
            return totalPrice;
        }
        void displayProducts() {
            for (int i = 0; i < products.size(); i++) {
                cout << "Product Name: " << products[i].name << endl;
                cout << "Price per unit: $" << products[i].price << endl;
                cout << "Quantity: " << products[i].quantity << endl;
                cout << "Total Price: $" << products[i].getTotalPrice() << endl;
                cout << "-----------------------" << endl;
            }
        }
};
int main() {
    // 创建购物车对象
    ShoppingCart cart;
    // 添加产品到购物车
    cart.addProduct("Apple", 1.0, 5);
    cart.addProduct("Banana", 0.5, 3);
    cart.addProduct("Orange", 0.75, 2);
    // 显示购物车中的产品信息
    cout << "Shopping Cart Contents:" << endl;
    cart.displayProducts();
    // 计算购物车的总价格
    double totalPrice = cart.calculateTotalPrice();
    cout << "Total Price: $" << totalPrice << endl;
    return 0;
}

在上述代码中,我们创建了两个类:Product(产品)和ShoppingCart(购物车)。产品类包含了产品的名称、价格和数量,并提供了计算总价格的方法。购物车类包含了一个产品类的向量,我们可以向购物车添加产品,并计算购物车的总价格,并显示购物车中的所有产品的详细信息。 这个示例代码展示了C++的基本语法,包括类的定义、成员变量与成员函数、构造函数的使用,以及面向对象编程的概念,如封装和对象的创建与操作。


示例代码:任务管理程序

以下是一个简单的任务管理程序的示例代码,用于演示Python的基本语法和文件操作的应用。

pythonCopy code
class Task:
    def __init__(self, title, description, status):
        self.title = title
        self.description = description
        self.status = status
    
    def update_status(self, new_status):
        self.status = new_status
    
    def display_info(self):
        print("Task Title:", self.title)
        print("Task Description:", self.description)
        print("Task Status:", self.status)
class TaskManager:
    def __init__(self):
        self.tasks = []
    
    def add_task(self, title, description, status):
        new_task = Task(title, description, status)
        self.tasks.append(new_task)
    
    def update_task_status(self, title, new_status):
        for task in self.tasks:
            if task.title == title:
                task.update_status(new_status)
                return
        print("Task not found.")
    
    def display_all_tasks(self):
        for task in self.tasks:
            print("-----------------------")
            task.display_info()
    
    def save_tasks_to_file(self, filename):
        with open(filename, 'w') as file:
            for task in self.tasks:
                file.write(task.title + '\n')
                file.write(task.description + '\n')
                file.write(task.status + '\n')
                file.write("-----------------------" + '\n')
    def load_tasks_from_file(self, filename):
        with open(filename, 'r') as file:
            lines = file.readlines()
            title = ""
            description = ""
            status = ""
            for line in lines:
                line = line.strip()
                if line == "-----------------------":
                    new_task = Task(title, description, status)
                    self.tasks.append(new_task)
                    title = ""
                    description = ""
                    status = ""
                elif not title:
                    title = line
                elif not description:
                    description = line
                elif not status:
                    status = line
# 创建任务管理器对象
task_manager = TaskManager()
# 添加任务
task_manager.add_task("Task 1", "Description 1", "Pending")
task_manager.add_task("Task 2", "Description 2", "Completed")
task_manager.add_task("Task 3", "Description 3", "In Progress")
# 更新任务状态
task_manager.update_task_status("Task 1", "Completed")
# 显示所有任务信息
task_manager.display_all_tasks()
# 将任务保存到文件
task_manager.save_tasks_to_file("tasks.txt")
# 从文件加载任务
task_manager.load_tasks_from_file("tasks.txt")

在上面的示例代码中,我们定义了两个类:Task(任务)和TaskManager(任务管理器)。任务类表示一个特定的任务,包含标题、描述和状态等信息,并提供了更新状态和显示任务信息的方法。任务管理器类包含一个任务列表,我们可以向任务管理器添加任务,更新任务状态,显示所有任务信息,以及将任务保存到文件或从文件加载任务。 这个示例代码展示了Python的基本语法特性,包括类的定义、构造函数和方法的使用。同时,它还演示了Python文件操作的应用,如将任务保存到文件和从文件加载任务。我们可以根据实际需求对代码进行扩展,添加更多功能,如删除任务、搜索任务等。 这个任务管理程序可以用于跟踪和管理项目中的任务,包括创建新任务、更新任务状态,并将任务保存到文件,方便后续的查看和操作。通过这个简单的示例代码,你可以学习如何使用Python构建实际的应用程序,并通过文件操作来实现数据的持久化存储。

标签:status,task,入门,title,int,self,C++,面向对象编程
From: https://blog.51cto.com/u_15702012/8648714

相关文章

  • C++聊天集群服务器5
    一、服务器异常处理函数​ 这部分主要处理服务器异常退出时,用户的在线状态还是online不会改变,因此需要修改。由于是需要对用户进行操作,因此我们在user表的数据操作类添加重置用户状态函数。​ 在usermodel.hpp添加后:#ifndefUSERMODEL_#defineUSERMODEL_#include"user.hpp......
  • 七天.NET 8操作SQLite入门到实战 - 第五天引入SQLite-net ORM并封装常用方法(SQLiteHel
    前言上一章节我们搭建好了EasySQLite的前后端框架,今天我们的主要任务是在后端框架中引入SQLite-netORM并封装常用方法(SQLiteHelper)。七天.NET8操作SQLite入门到实战详细教程第一天SQLite简介第二天在Windows上配置SQLite环境第三天SQLite快速入门第四天EasySQLite......
  • C++学习笔记——函数探幽
    C++内联函数内联函数是一种用空间换时间的技术,是C++提高程序运行速度做的改进。运行程序时操作系统将指令载入计算机内存中,并逐条执行这些指令,遇到循环或分支时向前或向后跳转到特定的地址(每条指令都有特定的内存地址)。常规函数也是如此,在调用常规函数时立即存储该指令的地址......
  • 《深度学习入门——自制框架》读书笔记
    1.自动微分step2创建变量的函数#箱子类,存放一个变量数据classVariable: def__init__(self,data): self.data=data#函数类的基类classFunction:#__call__方法是一个特殊的Python方法。#定义了这个方法后,当f=Function()时,就可以通过编写f(...)来......
  • Docker极简入门
    Ubuntu安装Dockersudoaptinstalldocker.io开启Docker服务sudosystemctlenabledockersudosystemctlstartdocker为当前用户赋予Docker用户组权限sudogroupadddockersudousermod-aGdocker${USER}newgrpdocker使用ps命令,该命令的功能是列出所有容,检查Docke......
  • 黑客玩具入门——9、Burp Suite
    BurpSuite是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们快速完成对web应用程序的渗透测试和攻击。BurpSuite是由Java语言编写,因为Java是可以跨平台的,所以BurpSuite也是跨平台的,支持windows、linux、mac。1、代理和浏览器设置BurpSuite代理工具是以拦截代理的方式,拦......
  • error: Microsoft Visual C++ 14.0 or greater is required
    1、错误背景python在安装aiohttp库时,出现MicrosoftVisualC++14.0orgreaterisrequired的提示:2、解决方案按照错误提示,访问https://visualstudio.microsoft.com/visual-cpp-build-tools/,下载生成工具:执行下载的exe执行文件:选择使用C++桌面开发,选......
  • .NET Core|--调用C++库|--docker环境下让web api应用程序调用C++类库
    前言#前提安装docker环境~启动docker~#多说一句,为什么我要搞这个一个镜像,既包含gcc开发环境,又包含.NET开发环境我的api应用程序是基于.NET写的,但是我的这个api程序,又要调用c++的一些东西,特别是涉及一些画图之类的,所以就需要gcc的开发环境,最终搞了这么一......
  • LLM 入门笔记-Tokenizer
    以下笔记参考huggingface官方tutorial:https://huggingface.co/learn/nlp-course/chapter6下图展示了完整的tokenization流程,接下来会对每个步骤做进一步的介绍。1.Normalizationnormalize其实就是根据不同的需要对文本数据做一下清洗工作,以英文文本为例可以包括删除......
  • XmlRPC入门_基于组合类型的客户端、服务端
    1、客户端#include<stdlib.h>#include<stdio.h>#include<xmlrpc-c/base.h>#include<xmlrpc-c/client.h>#include"config.h"/*informationaboutthisbuildenvironment*/#defineNAME"Xmlrpc-cTestClient"#d......