随笔分类 - windows下C++编程
C++在windows下的编程点滴
摘要:上机环境 win7 vs2008 基于c++,C语言同样可以通过下列代码 但凡涉及中文,都要包含locale.h头文件 setlocale(LC_CTYPE, "chs");设置本地环境为中文 代码 #include<stdio.h> #include <stdlib.h> #include <wc
阅读全文
摘要:鸣谢:https://blog.csdn.net/educast/article/details/8980686 提供的启发 上机环境: win2012 vs2015 C++ 单文档MFC风格窗口 MFC以文档视图 闻名,我们最初接触MFC,肯定对下图的窗口结构印象深刻 不过,我们还是更倾向使用控件
阅读全文
摘要:上机环境vs2015 win7 64位 先上图,是不是扑面就感受到一股浓浓的俄罗斯风情,hehehehe~ 截图是基于MFC实现的带有插图的对话框窗口,就这么一个小破功能,折腾我一礼拜,问题集中在两方面: 1.如何加载jpeg图片?加载bmp的案例汗牛充栋,但加载jpeg的确实不多 2.在窗口的指定
阅读全文
摘要:鸣谢:https://blog.csdn.net/guo_lei_lamant/article/details/79484818?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant
阅读全文
摘要:GDI是Windows操作系统提供的一种接口,目的是和各型其他硬件设备,如打印机,显示器等交互,这些硬件只需满足windows 提供的接口,即可实现同操作系统的交互 DC类是GDI类的一个子类,DC类无法直接使用,从他派生出CClientDC CWindowDC CPaintDC CMetaFile
阅读全文
摘要:一般在定义一个类时,我们会考虑这个类的4种关键行为(例如复制,赋值,移动,销毁)如何定义,相对应的就有拷贝构造函数,拷贝赋值运算符,移动构造函数,移动赋值运算符,析构函数 类的复制 拷贝构造函数 类的赋值 拷贝赋值运算 类的移动 移动构造函数/移动赋值运算 类的销毁 析构函数 类的拷贝构造函数带来的
阅读全文
摘要:基本用法 #include<iostream> #include<time.h> #include<vector> #include<list> using namespace std; void main() { int a[] = {33,44,55,66,77,88}; int i; list
阅读全文
摘要:初始化用法 #include <iostream> #include "string" using namespace std; void main() { string m1 = "陈培昌"; string m2("付高峰"); string m3 = m2; cout<<"m1:"<<m1<<
阅读全文
摘要:基本用法 #include<iostream> #include<vector> using namespace std; void main() { vector<int> a(10,1);//初始化容器,开辟10个单位空间·元素初始化为1 int i; cout << "初始化变量" << en
阅读全文
摘要:接口声明的三种形式 抛出一切形式的异常 void freeobj(mycoach &t) { if (t.age < 16) { cout <<"精神可嘉~但还是年龄太小" <<endl; throw t.age; } if (t.months <= 12) { cout << "精神可嘉~再练一段
阅读全文
摘要:实验环境 win7 下的vs2017,基本原则:throw抛出的数据类型,和cathc语句的数据类型要一致 异常的引发和异常的处理可以分布在不同函数中,所以c++的异常是跨栈的 异常是由“地地道道“的错误所引发 #define _CRT_SECURE_NO_WARNINGS #include <io
阅读全文
摘要:引用的本质 一个常量指针 #include<iostream> using namespace std; void crzaychange(int &a, int &b) { int c; c = a; a = b; b = c; } void main() { int a = 100; int b
阅读全文
摘要:函数模板存在的意义;如果同一函数,参数类型有所不同,相同的功能可能会定义多个函数实例,这十分繁冗 #include<iostream> using namespace std; void swap(int &a,int &b) { int temp = a; a = b; b = temp; } v
阅读全文
摘要:函数定义期望 通过cout<<对象,打印出复数的实部和虚部,这样一来,就需要重载cout类的位移<<运算函数,但是我们并不能拿到cout源码,在visual studio我们看到的也仅仅是他的定义 若想访问c1的私有属性,则应当声明为友元函数 通过定义可以看出cout类的返回值是ostream类型的
阅读全文
摘要:运算符重载是为了解决这样一类问题:我们知道对于整型可以用二元运算符(就是+,-,*,/因为这些运算都是两个变量参与,所以谓之二元,相比之下一元运算符就是自增,自减运算)直接进行运算,但对于类这样的数据结构直接的加减运算显然不被支持,这就需要用到运算符重载的概念 全局函数形式 返回类型 operato
阅读全文
摘要:打造c++抽象类 与其他语言的抽象类相似,抽象类不能实例化,也不能作为函数的参数,只可以作为指针类型或者引用类型 抽象类的基本特征 #pragma once #include<iostream> using namespace std; class jetplane { private: prote
阅读全文
摘要:首先我们随意定义4个类结构 class cl1 { private: int age; string name; static int addr; public: cl1() { } void iwasthelastlivingsoul() { } int getage() { return thi
阅读全文
摘要:所谓多态,就是不同类的对象的同一方法表现出不同的形态。比如定义一个铃响的方法,一些对象去食堂用餐,另一个对象下班回家 实现多态的三个必要条件 类之间存在继承关系 不同类的同一方法以虚函数的方法实现(virtual重写)基类指针指向子类对象 virtual多态关键字的意义,告诉编译器该函数要实现多态,
阅读全文
摘要:多年前就粉c++,认为这是黑客专门用的语言,到现在这种情怀仍有增无减;那时朦朦胧胧的看到友元函数这个词顿时觉得深不可测;其实通过下面的例子我们不难发现,友元函数就是在类方法之外,通过函数访问类的私有成员的一种方法声明。不像人话是么?先看这样一个例子 定义了一个坐标点的类用于计算两点间的距离(参见解析
阅读全文
摘要:c++字符串声明:一种是声明字符数组并赋值,另一种是直接声明string类 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> #include "mycoach.h" using namespace std; vo
阅读全文

浙公网安备 33010602011771号