自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 window常用的消息

WM_LBUTTONDOWN产生单机鼠标的消息

2016-10-09 15:46:34 342

原创 API函数的有关概念

1、窗口2、事件驱动3、句柄4、消息

2016-10-09 11:47:48 357

原创 数据结构

1、MSG2、WNDCLASSEX3、RECT

2016-10-09 10:55:41 289

原创 window 应用程序的组成及编程步骤

1、应用程序的组成2、源程序 的组成2.1、WinMain函数窗口初始化:b)注册窗口类window系统本身提供部分预定义窗口类,程序员也可以自定义窗口类。窗口类必须先注册后使用,窗口类注册函数是RegisterClass()实现。其形式如下:RegisterCl

2016-10-09 10:49:27 423

原创 常用绘图函数

1.设置画笔当前位置的函数MoveToEx,       BOOL MoveToEx(HDC hdc, int X,Y,  // X、Y分别为新位置的逻辑坐标 LPPOINT lpPoint  //存放原画笔位置的POINT结构地址)2.从当前位置向指定坐标点画直线的函数LineToEx,BOOL LineToEx(HDChdc,intX,int Y)   //

2016-10-08 09:12:49 792

原创 绘图工具与颜色

画笔创建新画笔形式。

2016-10-08 08:59:39 325

原创 window图像设备接口及绘图

Windows图形设备接口(GDI)是为与设备无关的图形设计的。所谓设备的无关性,就是操作系统屏蔽了硬件设备的差异,因而设备无关性能使用户编程时无需考虑特殊的硬件设置。1、图形设备按口(GDI)GDI负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上显示图形或文字, 是Windows系统的重要组成部分设备描述表即为设备环境的属性的集合。

2016-10-08 08:52:13 390

原创 如何编写简单的应用window窗口程序

#includeLRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow){ HWND hwnd; MSG Msg; WNDCLASS wndclass; char

2016-10-07 20:32:43 3953

原创 析构函数

完成对象被删除前的一些清理工作。在对象的生存期结束的时刻系统自动调用它,然后再释放此对象所属的空间。如果程序中未声明析构函数,编译器将自动产生一个默认的析构函数,其函数体为空。构造函数和析构函数举例#include using namespace std;class Point { public: Point(int xx,int yy); ~Point(); //.

2016-10-07 08:45:57 429

原创 写一个程序,定义抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形)

写一个程序,定义抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。#includeusing namespace std;class Shape{ public: virtual float printArea() const {

2016-10-06 16:06:19 82774 2

原创 在例12.3的基础上作以下修改,并作必要的讨论。

在例12.3的基础上作以下修改,并作必要的讨论。(1) 把构造函数修改为带参数的函数,在建立对象时初始化。(2) 先不将析构函数声明为virtual,在main函数中另设一个指向Circle类对象的指针变量,使它指向grad1。运行程序,分析结果。(3) 不作第(2)点的修改而将析构函数声明为virtual,运行程序,分析结果。(1) 把构造函数修改为带参数的函数,在建立对象时初始

2016-10-06 14:49:31 5982

原创 定义Point(点)类,由Point类派生出Circle(圆)类,再由Circle类派生出Cylinder(圆柱体)类。将类的定义部分分别作为3个头文件

定义Point(点)类,由Point类派生出Circle(圆)类,再由Circle类派生出Cylinder(圆柱体)类。将类的定义部分分别作为3个头文件,对它们的成员函数的声明部分分别作为3个源文件(.cpp文件),在主函数中用#include命令把它们包含进来,形成一个完整的程序,并上机运行。头文件1:#ifndef POINT_H#define POINT_H#include u

2016-10-06 11:52:41 34713 4

原创 this指针是允许依靠返回该类对象的引用值来连续调用该类的成员函数

#includeusing namespace std;class date{ int year; int month; public: date() { year=0; month=0; } date& setyear(int yr) { year=(yr<=2008)?yr:0; return *this; } date& setmonth(int m

2016-10-02 18:12:53 1002

原创 this 指针的地址--调用成员函数的所在对象的起始地址

#includeusing namespace std;class Test{ int x; public: Test(int a){ x=a; } void get_this();};void Test:: get_this(){ cout<<"this points to"<<this<<endl;}int main(){ Test obj(12); c

2016-10-02 11:54:34 1497

原创 this指针

建立一个对象时,系统为该对象分配内存栈区空间(位于栈区内),用于存储该对象的非静态数据成员。而该类的成员函数则存于另外的代码分区内。这些成员函数一般都用于访问(读写)该类各对象的各个数据成员。试问:各成员函数怎么知道这些非静态数据成员的地址,也即各对象的地址?原来,每个对象的地址都存放在它自己的this指针内。而每个成员函数的参数表中都隐含着这个指针。应该指出,this指针是指向一个对象的,所

2016-10-02 11:38:17 466

原创 建立不同类型对象时,构造函数和析构函数的调用顺序

头文件#ifndef CONS_DES_H#define CONS_DES_H#includeclass base{ public: base(int); ~base(); private: int data;};#endif隐藏源文件:#include "cons_des.h"#includebase::base(int value):data(

2016-10-02 11:21:58 1645 1

原创 建立全局和局部对象时,不同的构造函数和析构函数的调用顺序

#includeusing namespace std;void create();class base{ int data; public: base(int i) { data=i; cout<<"CONS:"<<i<<endl; } ~base() { cout<<"DES:"<<data<<endl; } void show()

2016-10-02 10:36:19 710

原创 子对象构造函数和析构函数的调用顺序

#includeusing namespace std;class sub_class{ int x; public: sub_class(int z)//构造函数 { x=z; cout<<"Constructor_sub"<<x<<"called!"<<endl; } ~sub_class(){ cout<<"Destructor_sub"<<x<<"call

2016-10-02 10:22:31 947

原创 复合对象复制非静态数据

#include#includeusing namespace std;class figure{ int a; double d; public: figure(int j,double m) { a=j; d=m; cout<<"CONS-sub"<<endl; } void sub_show() { cout<<"sub_object:"<

2016-10-01 18:59:52 247

原创 对象复制非静态数据

#include#includeusing namespace std;class point{ int a,b; char *ptr; int size; int arr[3]; public: point(int j,int k,char *s,int m){ a=j; b=k; size=strlen(s)+1; ptr=new char[siz

2016-10-01 18:35:12 246

原创 对象的双区存储

#includeusing namespace std;class base{ public: int x1; static double s; int inc() { return x1; }};double base::s=1.1;int main(){ cout<<"size of class base is"<<sizeof(base)<<end

2016-10-01 12:51:40 211

原创 读取堆区,栈区地址及结论

#includeusing namespace std;int fun();int g;static int sg=10;int main(){int a(3);cout<<"addr.of auto a in main:"<<&a<<endl;static int sb;cout<<"addr.of external static sg(global):"<<&sg<<end

2016-10-01 11:26:38 432

原创 读取堆区的地址

#includeusing namespace std;int main(){ int *p=new int(10); cout<<"address of pointer itself:"<<&p<<endl; cout<<"address of integer :"<<p<<endl; cout<<"integer value:"<<*p<<endl; delete p;

2016-10-01 11:02:48 316

原创 查看DEVC++程序运行的代码区、数据区、栈区、堆区的地址

#includeusing namespace std;int data=23;int main(){ int i=15; int *ptr=new int(8); cout<<"code address:"<<&main<<endl; cout<<"global datum address:"<<&data<<endl; cout<<"local datum address:"

2016-10-01 10:47:56 5228

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除