C++
Linux_痞子
痞子
展开
-
qt5.3的操作技巧
F4 在头文件和代码之间切换F2 在声明和实现之间切换Ctrl + k 打开定位器(locator)Ctrl + Shift + f 打开全局搜索框Ctrl + f 打开当前页面搜索框Ctrl + 鼠标滚轮 缩放代码Ctrl + 空格 | 视频]Ctrl + / 注释或取消注释Alt + 回车 快速修复,如为头文件中的方法添加实现,或为实现添加头文件中声明,为翻译 2016-01-28 13:11:41 · 452 阅读 · 0 评论 -
面试
一、C语言 1、Linux的内存管理机制2、C程序编译运行的五个阶段 预处理,编译,链接 gcc -i gcc -s gcc -c 3、数据类型 1) 整型、浮点型、指针类型、聚合类型 定义数据在内存中占有几个字节,即读取数据时,一次读取几个字节。 聚合类型 2) 类型定义 a) typedef b) #define原创 2016-05-13 19:49:23 · 247 阅读 · 0 评论 -
qt样式表的使用
Qt中可以灵活的使用层叠样式表(CSS),其语法和css很相似。因为HTML CSS的灵活性,可以很方便的为QT界面设计自己需要的外观。QT4.8各部件Style Sheets的用法示例在这里:http://qt-project.org/doc/qt-4.8/stylesheet-examples.html#customizing-qlineeditStyle Sheets用户手册在这里:http:转载 2016-05-03 19:11:09 · 998 阅读 · 0 评论 -
C++多态
测试代码,理解C++的多态。 1、多态的实现机制,虚函数; 2、多态实现的三要素:1)继承,2)重写,3)虚函数 理解: 在C++中,多态的应用是很强大的,也是面试中必问的话题,所以在这里我想根据自己的理解总结一下: 在C++中要实现多态,以上的三要素必须满足,必要有父子类之间的继承关系,而且父类的函数必须是虚函数,在子类中必须重写父类的方法。例如下面的示例代码。#incl原创 2016-05-14 09:54:36 · 262 阅读 · 0 评论 -
C++重载重写重定义
在C++中有三个很相似的概念,很容易混淆。 下面就来总结区分,下面是测试代码 不过在分析代码之前先来分析一下关于上面的三个名词的概念 重载:1)必须在同一个类中,2)函数名相同,参数列表不同; 重写:1)必须发生在父子类中,2)函数名声明完全一致,且在父类中必须是虚函数; 重定义:1)必须发生在父子类中,2)函数名相同,且在父类中不是虚函数;以上三个定义应该很好理解[个人总结,如有错误,请原创 2016-05-14 10:44:45 · 705 阅读 · 0 评论 -
面试题
任意给了一个如,比如int a=12345,编写程序用a的每一位数相加如果位数大于1,比如是15,继续拆分相加直到结果为1位为止。#include <stdio.h>int test(int test_num){ int temp = 0; if(test_num < 10) return test_num; while(test_num %10 || te原创 2016-05-14 13:29:48 · 205 阅读 · 0 评论 -
编写类String的构造函数、析构函数和赋值函数
已知类String的原型为class String { public: String(const char *str = NULL); // 普通构造函数 String(const String &other); // 拷贝构造函数 ~ String(void); // 析构函数 String & operate =(const String &other)原创 2016-05-14 14:10:45 · 435 阅读 · 0 评论 -
面试,字符串内查找数字,数组保存
描述:在字符串内查找数字,并保存在数组中,例如a123ds42。 则a[0] = 123,a[1] = 42.#include <ctype.h>#include <stdio.h>#define MAX 20 //数组的最大长度/*处理字符串*/int findnum(const char *str){ int i = 0,j = -1,arr[MAX] = {0};//切忌次原创 2016-05-15 19:12:11 · 496 阅读 · 0 评论 -
qt安装
sudo apt-get install qt4-dev-tools sudo apt-get install qtcreator sudo apt-get install qt4-doc sudo apt-get install qt4-qtconfig原创 2016-04-16 21:15:15 · 328 阅读 · 0 评论 -
简单字符串替换
#include <stdio.h>#include <string.h>int main(void){ int i = 0; char str[20] = {0}; fgets(str,20,stdin); while(str[i] != 0) { if(str[i] == ' ') { str[i原创 2016-05-16 23:11:03 · 268 阅读 · 0 评论 -
qt类型转换
1、char * 与 const char *的转换 char *ch1="hello11";const char *ch2="hello22";ch2 = ch1;//不报错,但有警告ch1 = (char *)ch2;2、char 与 QString的转换char 转换为 QString其实方法有很多中,我用的是:char a='b';QString str;str=QString转载 2016-04-24 09:58:46 · 319 阅读 · 0 评论 -
linux 下的Sqlite和mysql操作
由于最近一些课业的需求需要了解下数据库的操作,以linux为内核的一些嵌入式的产品中,主流的一些数据库主要有sqlite和mysql等。 数据库的基本操作语句大同小异,主要包括增、删、改、查,和一些修饰的查询语句。 下面就主要来说说sqlite数据库的操作: 1、首先安装数据库 sudo apt-get install sqlite3 sqlite3 -version 查看安装的sqlit原创 2016-04-23 20:25:34 · 569 阅读 · 0 评论 -
C++的静态成员函数,成员变量,构造函数,析构函数,拷贝构造函数
在C++中有一些概念我们必须要彻底的理解,不然就会在程序设设计中埋藏一个不定时的”定时炸弹“。下面的一些文字都是本人在自学时的一些经验总结,虽然代码没有(后面我会补上相应的代码),但是读一读相信你也会有共鸣的。1、构造函数关于构造函数相信学习C++的没有不知道的,那么关于构造函数在C++中有那些陷阱呢又如何去避免呢?1)2)3)2、析构函数析构函数也是一样当我们创建的对象生命结束的时候,系统原创 2016-04-24 13:46:08 · 1392 阅读 · 0 评论 -
QT加载图片和移动控件
在qt中移动控件 1、获取控件的位置函数名:QPoint pos() const 例如创建button按钮后 QPoint point = button->pos(); 如果要获取对应(x,y)的坐标, int x = button->pos().x(); int y = button->pos().y();2、移动控件获取控件的位置以后就可以移动控件的位置原创 2016-04-24 19:55:29 · 3093 阅读 · 0 评论 -
C++类设计
文中以C++类的设计为讨论范围。 面向对象编程对于产出高质量,易维护的代码是非常有帮助的。面向对象编程的概念构建于三个基本特征之上:封装,继续,多态。在C++中,class是面向对象编程概念的核心和具体形式。class通过私有成员体现“封装”,通过直接继续或者组合体现“继续”,通过虚函数和动态绑定(dynamic binding)体现“多态”。class的设计质量直接决定了整个系统的质量。转载 2016-05-02 11:31:16 · 756 阅读 · 0 评论 -
线程之互斥锁
在多线程中对共享资源的访问在一个多线程的程序中,有时需要同时对共享资源的访问,就会造成对共享资源的读写问题。 例如:有五个线程,其中一个对共享资源进行修改,其余四个线程需要同时对共享资源进行读访问。势必会造成其余四个线程读取数据的不稳定。此时就可以使用互斥锁去解决这一问题。 当修改共享资源的线程需要对数据进行修改时,首先得到互斥锁,进行加锁。其他进程就被阻塞不可以去读取资源了。操作完成后,解锁,原创 2016-03-16 02:39:36 · 315 阅读 · 0 评论 -
线程通信
希望此文能给初学多线程编程的朋友带来帮助,也希望牛人多多指出错误。 另外感谢以下链接的作者给予,给我的学习带来了很大帮助 [http://blog.csdn.net/locape/article/details/6040383](%E7%BA%BF%E7%A8%8B) [http://www.cnblogs.com/liuweijian/archive/2009/12/30/1635888.h转载 2016-03-20 21:42:01 · 247 阅读 · 0 评论 -
实现在linux下的itoa函数
在linux系统中虽然自带了atoi()函数, 但是内有对应的itoa()函数,那就自己实现吧! 1、自己实现itoa()void itoa(int i,char* string){ int power,j; j=i; for(power=1;j>=10;j/=10) power*=10; for(;power>0;power/=10)翻译 2016-03-17 00:06:22 · 3515 阅读 · 0 评论 -
paintEvent调用时机
1、窗口启动的时候; 2、手动调用update(); 3、系统认为窗口需要重绘;原创 2016-04-25 22:28:40 · 2618 阅读 · 0 评论 -
全局函数和成员函数的this转换
这里的测试代码主要是帮助自己了解在类中的this指针。 使用的测试代码主要是:1、使用全局函数实现对象的相加;A global_add(A &a,A &b);使用全局函数实现对象的相加,必须要在实参中传递两个对象,返回值是对象的类型。2、使用成员函数实现对象的相加;A& member_add(A &ab);系统会解释为:A& member_add(A *pobj,A &ab);即:会增加一原创 2016-04-11 00:00:06 · 624 阅读 · 0 评论 -
qt 常用类型转换
在qt的变成中经常会用到数据类型的转换,其中最常用的莫过于对字符串的处理。1、char *str1;或者char str2[]类型转换为QString QString QLatin1String(const char *);2、QString 转换为char *str1;或者char str2[]类型 QByteArray cName = qName.toLatin1();原创 2016-05-10 16:53:57 · 529 阅读 · 0 评论 -
C++单例的创建与使用
在C++中我们经常会碰到一种情况,就是某一个类的对象只需要一个对象的实例化,例如在某些驱动设备的开发,对某个文件或者套接子的处理,要求在整个程序中有且仅有一个对象,那就需要单例来解决这一问题。 < 专业解释 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,转载 2016-04-30 15:52:19 · 1042 阅读 · 0 评论 -
qt qthread类和qobject类
QThread从QObject派生。它发出信号来表明线程开始了或结束了。并且也提供了几个槽。更有趣的是,QObject可以在多个程中同时使用,可以发出信号给另外线程的槽,以及向“活在”另外线程中的对象邮寄事件。以上之所以能发生,是因为每个初程都被允许拥有它自己的事件循环。QObject 重入 QObject是可重入的。它大多数非界面派生类,比如QTimer,QTcpSocket,QFtp,和QPr转载 2016-04-30 17:30:12 · 1537 阅读 · 0 评论 -
递归调用详解
下面是个关于递归调用简单但是很能说明问题的例子:/递归例子/#include<stdio.h>void up_and_down(int);int main(void){ up_and_down(1); return 0;}void up_and_down(int n){ printf("Level %d:n location %p\n",n,&n); if(n转载 2016-04-30 18:18:45 · 653 阅读 · 0 评论 -
给定字符串查找子串,返回子串出现的位置
/*查找子串在给定字符串中出现的位子*/#include <stdio.h>#include <string.h>int str_in_str(char *src_str,char *child_str){ int i = 0,j = 0; for(;src_str[i] != '\0';i++) { if(child_str[j] == src_str[原创 2016-04-30 22:35:26 · 2687 阅读 · 0 评论 -
将字符串转换为整数
/*atoi函数实现*/#include <stdio.h>#include <string.h>#include <math.h>#include <ctype.h>bool mydigit(int ch){ if(ch > '0' && ch < '9') return true; return false;}int str_to_int(const c原创 2016-04-30 23:41:18 · 522 阅读 · 0 评论 -
C++继承
在C++中的父子类的一些注意点: 1、子类和父类指针的包容性 2、子类覆盖父类的同名函数方法 3、父类的析构函数定义成虚函数,防止子类的析构函数不被调用 4、关于虚函数的注意点【在内存中占用四个字节的内存用于指向虚函数表】 5、#include <iostream>#include <string>using namespace std;class Father{ publi原创 2016-04-17 23:32:40 · 291 阅读 · 0 评论 -
qt设置控件的ICON
一个简单的按钮图片加载代码,一般人出现的问题都是加载的图片可能会很小,怎么解决这个问题呢?来看看下面的代码吧,对于相关的迷惑点我会给出讲解,同时在学习这个代码的过程中我们也学学其他的一些功能实现。如何显示中文、如何设置字体以及颜色等。#include <QApplication>#include <QPushButton>#include <QLabel>#include <QGridLayout>转载 2016-04-24 19:38:39 · 1977 阅读 · 0 评论