C++查漏补缺
lkw23333
御天之骑,铭刻编年,此时此刻,正乃极致之时。
展开
-
C++(十)——模板(上)
函数模板基本语法#include<iostream>using namespace std;//两个整型交换函数//函数模板template<typename T> //声明模板void mySwap(T& a, T& b){ T temp = a; a = b; b = temp;}void test01() { int a = 10; int b = 20; //自动类型推导 //mySwap(a, b); //显示指原创 2022-04-08 11:07:56 · 233 阅读 · 0 评论 -
C++(九)——职工信息管理系统
简单的项目构成头文件职工抽象类#pragma once#include<iostream>#include<string>using namespace std;class Worker {public: //显示个人信息 virtual void showInfo() = 0; //显示岗位名称 virtual string getDName() = 0; int m_id; string m_name; int m_dId;};.原创 2022-04-08 10:59:45 · 1398 阅读 · 0 评论 -
C++(八)——文件操作
文本文件——写文件#include<iostream>#include<fstream>using namespace std;//文本文件中的写文件void test01() { //包含头文件,fstream //创建流对象 ofstream ofs; //指定打开方式 ofs.open("text.txt", ios::out); //写内容 ofs << "姓名:张山" << endl; ofs << "年龄:原创 2022-04-08 10:41:01 · 240 阅读 · 0 评论 -
C++(七)——多态
多态的基本语法#include<iostream>using namespace std;//动态多态满足条件//1.有继承关系//2.子类要重写父类的虚函数,注意重载是函数名相同但参数不同//重写 函数返回值类型 函数名 参数列表 完全相同//动态多态的使用//父类的指针或引用执行子类对象class Animal {public: //虚函数 virtual void speak() { cout << "动物在说话" << endl;原创 2022-03-11 12:27:41 · 883 阅读 · 0 评论 -
C++(六)——继承
继承中的对象模型#include<iostream>using namespace std;//继承中的对象模型class Base {public: int m_a;protected: int m_b;private: int m_c;};class Son :public Base {public: int m_d;};void test01() { //结果16 //父类中所有非静态成员属性都会被子类继承下去 //私有属性虽然无法访问,但原创 2022-03-11 12:08:32 · 100 阅读 · 0 评论 -
C++(五)——运算符重载
加号运算符重载#include<iostream>using namespace std;//对于内置数据类型,编译器知道如何运算//加号运算符重载class Person {public: int m_a; int m_b; //成员函数实现加号运算符重载 //Person operator+ (Person& p) { // Person temp; // temp.m_a = this->m_a + p.m_a; // temp.m_b = t原创 2022-03-11 11:34:46 · 1384 阅读 · 0 评论 -
C++(四)——类和对象(下)
this指针的用途#include<iostream>using namespace std;//解决名称冲突//返回对象本身 *thisclass Person {public: int age; Person(int age) { //this指针指向的是被调用的成员函数所属的对象 this->age = age; } Person & personAddage(Person &p) { this->age += p.age;原创 2022-02-28 21:49:57 · 376 阅读 · 0 评论 -
C++(三)——类和对象(上)
构造函数#include<iostream>using namespace std;class Person {public: int age; Person() { cout << "无参构造" << endl; } Person(int a) { age = a; cout << "有参构造" << endl; } //拷贝构造参数 Person(const Person &p) { age原创 2022-02-28 21:41:17 · 321 阅读 · 0 评论 -
C++(二)——命名空间(上)
在C++中,名称可以是变量、函数、结构、枚举、类以及类和结构的成员。当随着项目的增大,名称相互冲突的可能性也将增加。使用多个厂商的类库时,可能导致名称冲突。例如,两个库可能都定义了名为List、Tree和Node的类 ,但定义的方式不兼容。用户可能希望使用一一个库的List类,而使用另一一个库的Tree类。这种冲突被称为名称空间问题。C++标准提供了名称空间工具,以便更好地控制名称的作用域。经过了一段时间后,编译器才支持名称空间,但现在这种支持很普遍。内联函数不受这项规则...原创 2021-11-20 14:32:27 · 685 阅读 · 0 评论 -
C++(一)——存储持续性、作用域、链接性
存储持续性、作用域、链接性自动存储持续性:在函数定义中声明的变量(包括函数参数)的存储持续性为自动的。它们在程序开始执行其所属的函数或代码块时被创建,在执行完函数或代码块时,它们使用的内存被释放。C++有两种存储持续性为自动的变量。 静态存储持续性:在函数定义外定义的变量和使用关键字static定义的变量的存储持续性都为静态。它们在程序整个运行过程中都存在。C+ +有3种存储持续性为静态的变量。线程存储持续(C++11) :当前,多核处理器很常见,这些CPU可同时处理多个执行任务。这让程序能够将计算放原创 2021-11-20 13:29:49 · 712 阅读 · 0 评论