- 博客(5)
- 资源 (5)
- 收藏
- 关注
原创 画一个三角形
先上三角形的代码:#include // GLEW#define GLEW_STATIC#include // GLFW#include // 回调函数的声明void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode);// 窗体的宽和高const GLuint
2016-07-29 10:38:34 496
原创 创建一个窗口
OPENGL简介通俗来讲OPENGL就是一套图形API的集合,其实不单单是这样,它也是API执行的规范。OPENGL整体其实是一个巨大的状态机(State Machine),根据一系列变量的值来确定OPENGL的行为,这些不同的状态我们统称为OPENGL上下文(Context)。OPENGL里面含有很多不同的Object。每个对象都代表一个状态,通过设置很多对象,来让OPENGL执行不同的功能
2016-07-28 21:03:25 449
原创 绝不重新定义继承而来的non-virtual函数
假设我告诉你,class D是由class B以public形式派生而来的,class B定义有一个public成员函数mf。由于mf的参数和返回值都不重要,所以我认为它们是void。看下面的代码:// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"class B{public: void mf();
2016-07-05 10:26:44 48801
原创 区分接口继承和实现继承
表面上的public继承概念,其实经过严密的严查之后,会发现它由两部分组成:函数接口继承和函数实现继承。这两种继承的差异,其实就是函数声明与函数定义之间的差异。作为class的设计者,有时候你会希望derived class只继承成员函数的接口(也就是声明);有时候你又希望derived class同时继承函数的接口和实现,但又希望能够覆写(override)他们所继承的实现;又有时候你希望d
2016-07-04 18:25:13 2322
原创 避免遮掩继承而来的名称
我们知道,当位于一个derived class成员函数内指涉(refer to)base class内的某物(也许是个成员函数、typedef、或是成员变量)时,编译器可以找出我们所指的东西,因为derived class继承了声明与base class内的所有东西。但是让我们看下面一段代码:// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。//#in
2016-07-04 17:27:05 429
SQLite Expert Professional
2017-01-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人