c++
文章平均质量分 70
Freyua_xx
这个作者很懒,什么都没留下…
展开
-
C++练习题
#include <iostream>using namespace std;class A{public: int a; A(int n) : a(n) { }};class B{public: int b; A obj; // 在此处补充你的代码B(int m):obj(m){ b=m;}B(const B &p) :obj(p.b){ b=p.b; obj.a=3*p.obj.a;}原创 2021-07-03 20:34:28 · 764 阅读 · 0 评论 -
C++ 多态性与虚函数
多态性多态性: 对不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为。理解:一个接口,多种方法——对同一个名字的函数 有不同的功能、不同的行为与实现。静态多态性是通过函数重载实现的。函数重载和运算符重载属于静态多态性,在编译程序时系统就可以确定调用哪个函数(根据不同参数形式)——横向的:同一个类中 同名的函数动态多态性是在程序运行中才能确定操作所针对的对象。它又称运行时的多态性。动态多态性是通过虚函数实现的——纵向的:类的不同派生层次中 同名的函数虚函数作用在继承的二义性中,解决办法原创 2021-06-19 18:52:39 · 291 阅读 · 0 评论 -
C++ 派生与继承
派生与继承的基本概念一个基类可以派生出多个派生类,每个派生类又可以作为基类再派生出新的派生类。一个派生类只从一个基类派生,称作单继承。【基本类似于数据结构中的树的概念】一个派生类也可以有两个或多个基类,称作多重继承定义与声明派生类的声明格式为——class 派生类名 : [继承方式] 基类名{派生类新增成员声明}此外注意:派生类从基类接收成员,但是不包括基类的构造函数和析构函数。因此,派生类需要自己定义构造函数。派生类可以定义自己的(基类以外)的成员和函数,同时可以屏蔽原来从基类原创 2021-06-19 15:45:44 · 1616 阅读 · 0 评论 -
C++ const
用const表明的常量:有类型、存储空间,可以被指向,不能被修改,必须初始化。指向常量的指针(const int *p):对象不动我动是一个普通指针(a),可以指向一般的变量和常量,但是其指向对象修饰被const为常量,因此**其指向的对象不能通过p 修改,但是其可以指向不同对象。**int const *p = const int *p常指针(int *const p):我不动对象动const出现在*后面,使指针成为常量。指针一旦指定对象就不能更改。但是其指向的对象本身可以被修改(前原创 2021-06-16 14:22:23 · 88 阅读 · 0 评论 -
C++运算符与重载
运算符重载运算符重载的实质:运算符重载是对已有的运算符赋予多重含义是定义一个重载运算符的函数,在程序中用运算符代替函数,系统编译时自动调用该运算符所对应的函数,完成相应的运算。运算符重载实质上是函数的重载。运算符重载函数的格式是:函数类型 operator 运算符(形参表){ 重载处理 }函数类型:是重载函数值的数据类型;operator :关键字;operator 运算符 : 函数名运算符重载的规则C++只允许已有的部分运算符实施重载。不能重载的运算符有五个。 ( . . ::原创 2021-06-06 17:10:45 · 350 阅读 · 0 评论 -
C++类与对象
类类是C++的灵魂,C++中对象的类型称为类(class)。一个类可以定义多个对象,每个对象包含类中定义的各个属性的存储空间.类的声明声明一个类类型与声明一个结构体类型相似#include <iostream>using namespace std;// 定义结构体类型struct student {int num; // 学号char name[20]; // 姓名char sex; // 性别};student st1,st2; // 定义结构体变量void原创 2021-06-06 17:08:57 · 455 阅读 · 0 评论 -
C++基础知识
C++基础输入输出出入的是流对象,头文件需要iostreamint a,b,c;cin>>a>>b>>c;>cout<<"a+b="<<c;using namespace std; 只要用到类或者对象都要写类包括了:类名、私有部分(对外不可以访问)、公有部分、每个部分都有对应的变量和函数;其中,私有变量和函数只能够在私有部分的使用。一般来说类的属性成员都应设置为private, public只留给那些被外界用来调用的原创 2021-05-30 16:40:00 · 197 阅读 · 0 评论 -
SCU-C++习题集 第五章部分
设计堆栈类由给定的数组类派生一个Stack类#include<iostream>using namespace std;class Array{protected: int *p; int size;public: Array(int n) { size = n; p = new int[size]; } ~Array() { if (NULL != p) { delete[] p; } } int& operator[](int原创 2021-05-24 17:01:48 · 1127 阅读 · 0 评论 -
SCU-C++习题集 第四章部分
实现矩阵加法使用运算符重载 定义矩阵加法和流输入、流输出算符。#include <iostream>using namespace std;class M{ //定义矩阵类public: M(); friend M operator+(M &a,M &b); //重载运算符“+”原创 2021-05-23 14:13:25 · 1298 阅读 · 0 评论 -
SCU-C++习题集 第三章部分
逆序输出字符串#include<iostream>#include<string>#include<algorithm>using namespace std;int main(){string str;cin>>str;reverse(str.begin(),str.end()); cout<<str<<endl;return 0;}依次取字符串并排序#include<iostream>#i原创 2021-04-20 10:22:23 · 2034 阅读 · 1 评论