摘要: 多态性 (polymorphism) 是面向对象编程的基本特征之一。而在 C++ 中,多态性通过虚函数 (virtual function) 来实现。我们来看一段简单的代码:#include <iostream>using namespace std;class Base{int a;public:virtual void fun1() {cout<<"Base::fun1()"<<endl;}virtual void fun2() {cout<<"Base::fun2()"<<endl;}vi 阅读全文
posted @ 2013-03-27 10:14 wiessharling 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 复制构造函数(直接初始化、复制初始化、赋值、临时对象)使用复制构造函数前应弄清的几个问题:何时调用复制构造函数,复制构造函数有何功能,为什么要定义自已的复制构造函数。1.复制构造函数:当用户没有定义自已的复制构造函数时系统将生成一个默认的复制构造函数。当按值传递对象时,就会创建一个形参的临时对象,然后调用复制构造函数把临时对象的值复制给实参。2.默认复制构造函数的功能:将一个对象的非静态成员的值逐个复制给另一个对象,注意复制的是成员的值,这种复制方式也称为浅复制。因为静态成员属于整个类,而不属于某个对象,所以调用复制构造函数时静态成员不会受到影响。3.何时生成临时对象: 情形1:按值传递对象. 阅读全文
posted @ 2013-03-27 09:32 wiessharling 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 下面的方法可以避免这种错误:QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed. //为了支持中文 QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); QSqlDatabase sqlDatabase; //与数据库建立连接 if (QSqlDatabase::contains("my_conn")) ... 阅读全文
posted @ 2013-03-26 19:55 wiessharling 阅读(759) 评论(0) 推荐(0) 编辑
摘要: 1、安装vim sudo apt-get install vim-full2、配置文件的位置在目录 /etc/vim下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。3、设置语法高亮显示1) 打开vimrc,添加以下语句来使得语法高亮显示:syntax on2) 如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:export TERM=xterm-color 4、设置Windows风格的C/C++自动缩进(添加以下set语句到vimrc中) 1)设置(软)制表符宽度为4: set tabstop=4 set softtabst 阅读全文
posted @ 2013-03-20 19:43 wiessharling 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 环境:ubuntu10.04LTS1、在终端中直接输入 sudo apt-get install subversion,选择安装即可2、查看版本命令 svnserve --version(更多命令直接键入svnserve --help可查看到)3、查看svnserver是否已启动:netstat -ntlp,可看到svn对应的端口3690(如果没有看见,则证明服务未启动,可使用svnserve -d启动svn服务,还可以通过svnserve -d -r /home/wwwwfw/mobile来指定启动目录)4、建立项目:svnadmin create mobile(mobile为项目名称,位置 阅读全文
posted @ 2013-03-19 17:03 wiessharling 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1、指向const的指针 const 修饰“最靠近”它的那个。 const int* u;//u是一个指针,它指向一个const int const int* u;//u is a primer, point to a const int const int a = 10; u = &a; cout<<a<<endl; cout<<*u<<endl; //*u = 3;//error 它指向的值不能改变2、const 指针 int d = 1; int* const w = &d;//w是一个指针,这个指针是指向int的const 阅读全文
posted @ 2013-03-18 13:19 wiessharling 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 1、声明:一个声明将一个名称引入一个作用域;在c++中,在一个作用域中重复一个声明是合法的以下都是声明:int foo(int,int); //函数前置声明 typedef int Int; //typedef 声明 class bar; //类前置声明 extern int g_var; //外部引用声明 class bar; //类前置声明 typedef int Int; //typedef 声明 extern int g_var; //外部引用声明 //friend test; //友员声明 using std::cout; //名字空间引用声明 /... 阅读全文
posted @ 2013-03-18 10:58 wiessharling 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 卸载Ibus输入法代码:sudo apt-get remove ibus安装scim输入法代码:sudo apt-get install scim代码:sudo apt-get install scim-chinese代码:sudo apt-get install scim-config-socket代码:sudo apt-get install scim-gtk2-immodule代码:sudo apt-get install scim-tables-zhsudo gedit /etc/X11/Xsession.d/95xinput/usr/bin/scim -dXMODIFIERS=&qu 阅读全文
posted @ 2013-03-12 14:18 wiessharling 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 下面这些源更适合于教育网,网易和搜狐的源都可以。修改/etc/apt/sources.list sudo gedit /etc/apt/sources.list # 电子科大(教育网用户推荐) deb http://ubuntu.uestc.edu.cn/ubuntu/ precise main r 阅读全文
posted @ 2013-03-12 13:17 wiessharling 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1.介绍:sqlite3是linux上的小巧的数据库,一个文件就是一个数据库。2.安装: 要安装sqlite3,可以在终端提示符后运行下列命令: sudo apt-get install sqlite3 检查版本 sqlite3 -version3.测试 当前目录下建立test.db测试数据库文件 sqlite3 test.db 查询信息 .database 退出 .exit4.图形界面 可以选择sqlitebrowser程式(qt3) sudo apt-get install sqlitebrowser 启动图形界面可以在终端提示符后输入sqlitebrowser5.编程PHP:sudo a 阅读全文
posted @ 2013-03-12 10:47 wiessharling 阅读(264) 评论(0) 推荐(0) 编辑