![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
我要学代码
当你的能力还撑不起你的野心的时候,就静下心来学习沉淀吧!
展开
-
动态数组类模板
#ifndef ARRAY_H#define ARRAY_H#include <cassert>template <class T> //数组类模板定义class Array {private: T* list; //用于存放动态分配的数组内存首地址 int size; //数组大小(元素个数)public: Array(int sz = 50); //构造函数 Array(const Array<原创 2020-11-18 11:42:10 · 1019 阅读 · 0 评论 -
纯虚函数的定义和实现及调用
纯虚函数是一个在基类中声明的虚函数,它在该基类中没有定义具体的操作内容,要求各派生类根据实际需要定义自己的版本。纯虚函数的声明格式为: virtual 函数类型 函数名(参数表) = 0;带有纯虚函数的类称为抽象类注意 抽象类只能作为基类来使用。 不能定义抽象类的对象。//通过基类的指针来调用不同的派生类对象的实现函数#include <iostream>using namespace std;class Base1 { public: virtual vo原创 2020-11-12 17:43:33 · 4639 阅读 · 0 评论 -
单目运算符重载、双目运算符重载为成员(或非成员)函数
1.单目运算符只能重载为类的成员函数Clock& operator ++ ();//前置单目运算符重载没有形参,返回的是clock类的引用,是一个左值。Clock operator ++ (int); //后置单目运算符重载后置++要有一个int类型的形参,返回的是一个clock类的旧值,是一个右值2.双目运算符重载为成员函数时:Complex operator + (const Complex &c2) const;+两边有一个空格,只有一个形参。重载为非成员函数时:原创 2020-11-11 19:49:29 · 2963 阅读 · 2 评论 -
派生类的构造函数执行顺序
1.当基类有默认构造函数时派生类构造函数可以不向基类构造函数传递参数。构造派生类的对象时,基类的默认构造函数将被调用。2.如需执行基类中带参数的构造函数派生类构造函数应为基类构造函数提供参数。构造函数的执行顺序1,调用基类构造函数。顺序按照它们被继承时声明的顺序(从左向右)。2,对初始化列表中的成员进行初始化。顺序按照它们在类中定义的顺序。对象成员初始化时自动调用其所属类的构造函数。由初始化列表提供参数。3,执行派生类的构造函数体中的内容。#include <iostream&原创 2020-11-06 21:54:00 · 4617 阅读 · 0 评论 -
深层复制构造和移动构造
当临时对象在被复制后就不被利用了。我们可以把对象的资源直接移动,这样就避免了多余的复制操作。#include<iostream>using namespace std;class IntNum {public: IntNum(int x = 0) : xptr(new int(x)){ //构造函数 cout << "Calling constructor..." << endl; } IntNum(const IntNum &原创 2020-10-21 10:46:41 · 85 阅读 · 0 评论 -
C++静态数据成员和静态成员函数举例
静态成员函数为整个类的所有对象所共享,可以用来记录总的个数#include<iostream>using namespace std;class Point{ public: Point(int x=0,int y=0):x(x),y(y){//构造函数 count++;//在构造函数中对count累加,所有对象共同维护同一个count } Point(Point &p){//复制构造函数 x=p.x; y=p.y; count++;原创 2020-09-20 22:05:15 · 324 阅读 · 0 评论