c++
铩羽而归
心之所向,身之所往
展开
-
程序理解Lambda表达式
#include "pch.h"#include <iostream>using namespace std;int main(){ cout << "——测试——1_定义一个匿名函数,并调用" << endl; [] { cout << "hello,world" << endl; }(); cout <&...原创 2020-03-27 10:27:07 · 111 阅读 · 0 评论 -
移动拷贝构造函数和移动赋值函数的写法
#include"pch.h"#include<iostream>using namespace std;class A{public: A(int _X, int *_P) :x(_X),p(new int(*_P)) { cout << "构造函数" << endl; }; A(const A &a) { if (this =...原创 2020-03-26 14:52:17 · 789 阅读 · 0 评论 -
关键字constexpr的理解
#include"pch.h"#include<iostream>using namespace std;constexpr int show(const int x)//在dev C++中,形参不能为int;须为const int;但在VS2017中均可{ //在dev C++中constexpr函数,只能有一个语句,即return+其他; //但是在,vs2017中可以...原创 2020-03-25 23:41:54 · 289 阅读 · 0 评论 -
二维数组做形参的形式
#include<iostream>using namespace std;void OutPut1(int A[][5])//传递数组,需声明数组第二维的大小{ for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++)cout << A[i][j] << " "; cou...原创 2020-02-25 22:35:34 · 1090 阅读 · 0 评论 -
指针函数和函数指针
指针函数——返回值是为地址,若要调用该地址的数据,则需要该函数前加‘*’#include <iostream>using namespace std;int *GetNum(int x); //指针函数声明形式void main(void){ int num; cout<<"输入0~6之间的数据: "; cin>>num; cout<...原创 2019-09-18 23:56:51 · 65 阅读 · 0 评论 -
前置自增和前置自减——运算符重载
#include<iostream>using namespace std;class Point{public: Point(int vx, int vy); Point & operator++(); //前置自增重载为成员函数 friend Point & operator--(Point &p);//前置自减重载...原创 2019-06-02 22:20:09 · 658 阅读 · 0 评论 -
通过程序理解虚函数的实现与访问
#include<iostream>using namespace std;class Poin //定义基类{public: Poin(double a = 0, double b = 0) { x = a, y = b; } virtual double area() //必须在基类中必须定义虚函数, //在派生类中重新定...原创 2019-05-29 00:49:55 · 117 阅读 · 0 评论 -
VS中实现Localtime_s()
Visual C++ 6.0开发环境中显示当地日期与时间主要通过localtime()函数来实现,该函数的原型在time.h头文件中,其语法格式如下:struct tm *localtime(xonst time_t *timer)该函数的作用是把timer所指的时间(如函数time返回的时间)转换为当地标准时间,并以tm结构形式返回。其中,参数timer为主要获取当前时间的传递参数,格式为...转载 2019-05-24 11:15:33 · 2604 阅读 · 0 评论 -
c++类与类之间的关系
c++类之间的关系及实现一、纵向关系1、继承(Generalization) 也叫泛化关系,对于继承,可以使用"is a"来表示,比如,大学生(类B)"is a"学生(类A),是对学生(类A)的进一步刻画,那么这两个类就是"继承"关系。——通过派生类实现继承class Graduate : public Student{ //子类扩展属性和方法};2、实现(Realiz...原创 2019-05-28 14:14:45 · 1264 阅读 · 0 评论 -
构造函数的特点及写法
关于构造函数(1)构造函数的重要性——进行对类中的数据成员进行初始化。如果一个数据成员未被赋初值,则它的值是不可预知的。由于,类的数据成员时不能在声明类时初始化的,因为类是一种抽象的自定义数据类型,不占内存空间,所以不能在类内直接对数据成员进行初始化,因为无空间存储初始化后的数据成员。为了解决这个问题,C++提供了构造函数来处理数据成员的初始化。构造函数是一种特殊的成员函数,它不需要用户来调用...原创 2019-05-23 17:40:26 · 3489 阅读 · 0 评论 -
本是同根生,相煎何太急——面向对象和基于对象
7、面向对象和基于对象有什么区别(1)面向对象(Object-oriented)只有完全具有封装、继承、多态三大特点(缺一不可)的才能够叫做面向对象,否则即使设计中蕴含了一些对象的概念,也顶多称为基于对象——(2)基于对象(Object-based)通常“基于对象”仅仅是使用对象,但是无法利用现有的对象模板产生新的对象类型,继而产生新的对象,也就是说“基于对象”没有继承的特点——不能继承,...转载 2019-05-23 13:38:22 · 232 阅读 · 0 评论 -
静态成员函数
静态成员函数(1)用途:不是为了对象之间的沟通,而是为了能处理静态数据成员(如访问)。(2)访问方式:可以用类名和域运算符“::”,也允许用对象名调用静态成员函数。如:Student s1;Student::getcount(); //用类名调用静态成员函数s1.getcount(); //用对象名调用静态成员函数(3)不能默认访问本类中...原创 2019-05-25 15:23:37 · 562 阅读 · 0 评论 -
通过程序理解this指针
通过VC++6.0实现以下程序#include <iostream>using namespace std; class Myclass{public: int get() const{ return i; } void set(int x) //当通过对象a调用这个函数(必须是非静态成员函数)时,该成员函数所特有的this指针(隐式形参)就会指向对象a(...原创 2019-05-25 10:15:36 · 108 阅读 · 0 评论 -
作用域运算符的用途
(作用域运算符)::——C++里的“作用域运算符”。(1)作为在类外写类的成员函数的函数名的一部分;比如声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成void A::f(),表示这个f()函数是类A的成员函数。(2):: 一般还有一种用法,就是直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,...转载 2019-05-20 21:01:39 · 4538 阅读 · 0 评论