- 博客(24)
- 资源 (9)
- 收藏
- 关注
原创 C++ Point类运算符重载
#include "stdafx.h"using namespace std;class Point{public: Point(double x,double y):_x(x),_y(y) { } ~Point() { } Point& operator ++(); Point operator ++(int); Point& operator -...
2019-02-27 17:08:48 6470
原创 C++ override与final
override多态行为的基础:基类声明虚函数,派生类声明一个函数覆盖该虚函数;覆盖要求:函数签名(signature)完全一致;函数签名包括:函数名 参数列表 constoverride作用是保证派生类函数能覆盖基类的函数。#include "stdafx.h"using namespace std;class Base1{public: virtual void...
2019-02-27 13:11:15 399
原创 C++抽象类
纯虚函数:纯虚函数是一个在基类中声明的虚函数,它在该基类中没有定义具体的操作内容,要求各派生类根据实际需要定义自己的版本virtual 函数类型 函数名(参数表)=0;//等于0表示没有函数体带有纯虚函数的类称为抽象类,不可实例化抽象类的作用:将有关的数据和行为组织在一个继承层次结构中,保证派生类具有要求的行为。对应暂时无法实现的函数,可以声明为纯虚函数,留给派生类去实现。需要注意...
2019-02-27 12:46:52 13577
转载 C++ 理解 __declspec(dllexport)和__declspec(dllimport)
1、解决的问题: 考虑下面的需求,使用一个方法,一个是提供者,一个是使用者,二者之间的接口是头文件。头文件中声明了方法,在提供者那里方法应该被声明为__declspec(dllexport),在使用者那里,方法应该被声明为__declspec(dllimport)。二者使用同一个头文件,作为接口,怎么办呢?2、解决办法: 使用条件编译:定义一个变量,针对提供者和使用者,设置不同的值...
2019-02-26 20:39:32 1194
原创 C++ stdafx.h、targetver.h文件
stdafx是预编译头文件,在其中包含的头文件之外第一次编译时编译,之后若不修改,不会再编译这些头文件,加快了编译的速度。targetver定义了程序运行需要的最低Windows版本,如果你要在旧版本的Windows(如非NT架构的Win98)上运行,除了代码部分还需要修改这个头文件。...
2019-02-26 19:28:28 1438
原创 C++通过虚函数实现运行时多态
虚函数是用来告诉编译器不要马上确定指针所指对象,把它留到运行时再做决定。凡是带virtual的虚函数都要在类外实现,不能写成内联的。#include "stdafx.h"using namespace std;class Base1{public: virtual void display();};void Base1::display(){ cout<&l...
2019-02-24 22:32:40 2655
原创 C++运算符重载
C++几何可以重载全部的运算符,而且只能重载C++中已经有的。重载之后运算符的优先级和结合性都不会改变。定义形式:函数类型 operator 运算符(形参){ ……}参数个数=原操作数个数-1双目运算符重载规则如果要重载B为类成员对象,使之能够实现表达式oprd1 B oprd2,其中oprd1为A类对象,则B应被重载为A类的成员函数,形参类应...
2019-02-24 21:17:37 209
原创 C++ motorcycle类(虚继承)
#include "stdafx.h"using namespace std;class vehicle{public: int MaxSpeed; int Weight; vehicle(int v=220,int w=20):MaxSpeed(v),Weight(w){} void Run() { cout<<"Vehicle runs..."<<...
2019-02-21 23:21:17 254
原创 C++派生类成员的标识与访问
当派生类与积累中有相同成员时:同名隐藏规则:若未特别限定,则通过派生类对象使用的是派生类中的同名成员;如要通过派生类对象访问基类中被隐藏的同名成员,应使用基类名和作用域操作符(::)来限定。#include "stdafx.h"using namespace std;class Base1{public: int var; void print() { cout&l...
2019-02-20 17:31:15 352
转载 C++深拷贝与浅拷贝的区别
先考虑一种情况,对一个已知对象进行拷贝,编译系统会自动调用一种构造函数——拷贝构造函数,如果用户未定义拷贝构造函数,则会调用默认拷贝构造函数。 //main.cpp#include <iostream>#include "student.h"int main(){ Student s1; Student s2(s1);//Stud...
2019-02-20 16:48:55 337
原创 C++派生类的构造与析构
默认情况下,基类的构造函数不被继承,派生类需要定义自己的构造函数。但在C++11规定中可以使用using语句继承基类构造函数,不过只能初始化从基类继承的成员,语法形式为using B::B;。若不继承基类的构造函数,派生类的构造函数需要给基类的构造函数传递参数。单继承时构造函数的定义语法:派生类名::派生类名(基类所需的形参,本类成员所需的形参):基类名(参数表),本类成员初始化列表...
2019-02-19 22:15:58 369
转载 C++重载运算符
#include "stdafx.h"using namespace std;class Complax{public: Complax(int a = 0, int b = 0) { this->a = a; this->b = b; } void printC() { cout <...
2019-02-18 10:45:13 207
转载 英语网络用语
---问好---1,hiho=hola=yo=hellow=你好,大家好2,wuz up=sup=what's up=(原意:怎么样你?/有什么事儿嘛?)也可作为问好用,回答时有事说事,没事用"nothin much/not much/nm等回答就可以。---再见---1,cya=cu=see ya=see you=再见2,laterz=later=cya later=see ya l...
2019-02-13 10:47:12 21079 1
原创 C++ 继承方式
不同继承方式的影响主要体现在:1、派生类成员对基类成员的访问权限2、通过派生类对象对基类成员的访问权限 三种继承方式:公有继承、私有继承、保护继承1、公有继承:基类的public和protected成员,访问属性在派生类中保持不变;基类的private成员不可直接访问//point.h#ifndef POINT_H_#define POINT_H_class poi...
2019-02-12 23:31:40 285
原创 C++继承的基本概念和语法
一、继承与派生概述被继承的已有类称为基类,派生出的新类称为派生类二、单继承时派生类的定义class Derived: public Base{public: Derived(); ~Derived();}三、多继承时派生类的定义class Derived: public Base1,private Base2{public: Derived...
2019-02-12 22:34:00 293
原创 C++ 用getline输入字符串
#include "stdafx.h"#include <string>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ string country,city; for (int i = 0; i < 2; i++) { getline(cin,country,','); getlin...
2019-02-11 23:04:54 2288
原创 C++ vector对象
一、为什么需要vector?封装任何类型的动态数组,自动创建和删除数组下标越界检查二、vector对象的定义vector<int> arr(5);//建立大小为5的int数组三、vector对象的使用对数组元素的引用与普通数组具有相同形式,但对象名不表示数组首地址获得数组长度:用size函数 vector对象名.size()#include "stda...
2019-02-10 23:18:19 1153
原创 C++申请和释放动态数组
一、分配和释放动态数组new 类型名T [数组长度]数组长度可以是如何整数类型表达式,在运行时计算delete[] 数组名p释放指针p所指向的数组,p必须是用new分配得到的数组首地址int _tmain(int argc, _TCHAR* argv[]){ int i=2; int j=8; int *a=new int[i*j]; for (int k = 0;...
2019-02-10 22:47:57 2897
原创 C++动态分配与释放内存
动态创建对象举例#include "stdafx.h"#include "account.h"using namespace std;string account::id="000000";int _tmain(int argc, _TCHAR* argv[]){ account *pt=new account("12345"); pt->deposit(3000);...
2019-02-10 12:46:21 392
原创 DOS命令
一、DIR显示指定路径上所有文件或目录的信息:DIR [drive letter][path][file name][parameter]参数:1、/w:宽屏显示,不显示修改时间,文件大小2、/p:分页显示,当屏幕无法将信息完全显示时,可用此命令3、/a:显示具有特殊属性的文件4、/s:显示当前目录及其子目录下所有的文件上述参数可以同时使用二、MD新建目录:MD...
2019-02-08 12:19:57 113
原创 C++矩阵转置
#include "stdafx.h"using namespace std;void MatrixTranspose(int a[3][3]){ int b[3][3]; memcpy(b,a,9*sizeof(int)); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { a[i...
2019-02-03 17:45:23 2183
原创 C++指针
一、内存空间的访问方式1、通过变量名访问2、通过地址访问二、指针的概念指针:内存地址,用于间接访问内存单元指针变量:用于存放地址的变量三、指针变量的使用static int i;//变量名static int* ptr=&i;//地址ptr为指向int类型变量的指针*ptr=3;四、指针运算与地址运算指针=&变量//地址运算变量...
2019-02-01 14:38:44 94
原创 C++for循环
普通for循环与基于范围的for循环#include "stdafx.h"using namespace std;int _tmain(int argc, _TCHAR* argv[]){ int a[4]={1,2,3,4}; //普通for循环 int *p; for (p = a; p < a+sizeof(a)/sizeof(int); p++) { c...
2019-02-01 12:09:05 237
毕业论文大礼包.rar
2020-07-18
白塞尔大地主体解算(正算+反算)
2018-06-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人