随笔分类 -  C++

some C++ study note
关于C++ Builder中TChart的一些用法
摘要:具体步骤:一,拖控件,从控件组中拖出TChart控件.二,双击TChart,按add添加所需数据组.三,通过代码对其属性进行操作,修改.四,录入数据点,生成图像.以折线统计图为例,以下记录一些常用的接口及具体用法. double * data ; int N=2048 ; //动态成生数据组。 data = new double[N] ; //整个Y轴向量一次性添加。注意总点数为N-1。 Series1->Clear() ; Series1->AddArray( data, N-1 ) ; //逐个数添加于X轴,Y轴为点号。 Series1->Clear() ; for( i 阅读全文
posted @ 2012-07-23 16:36 菠萝_Ho 阅读(10060) 评论(0) 推荐(0)
C++ -- 函数:引用形参
摘要:一,C语言更多使用指针,c++更多实用应用,使用引用更安全和自然.二,使用引用形参返回额外信息(使用) 通过返回迭代器,迭代器所指的对象则是额外返回的信息.三,利用const引用避免复制 如果使用引用形参的唯一目的是避免复制实参,则应将形参定义为const引用.四,传递指向指针的引用:Void ptrswap(int *&v1, int *&v2){ int *tmp = v2; V2 = v1; V1 = tmp;}/*交换两个指针指向的地址*/五,vector和其他容器类型的形参 同样为了避免复制形参,通过传递迭代器来传递容器void print(vector<int 阅读全文
posted @ 2012-07-20 00:52 菠萝_Ho 阅读(727) 评论(0) 推荐(0)
关于"表达式"的一些笔记
摘要:1.short类型为16位,能表示的最大值为32767.2.位操作符(对二进制数据操作)~//按位取反(1变0,0变1)<</>>//左,右移位运算.&位与//有0为0,同true才为1.^位异或//同0异1|位或//有1为1,同false才为03.bitset对象或整型值使用(对比)①定义30位二进制数据对象,储存简单数据 bitset<30>bitset_quiz; unsignedlongint_quiz=0;//32位.②27位上设置为1; bitset_quiz.set(27); int_quiz|=1UL<<27;→int_q 阅读全文
posted @ 2012-07-19 00:57 菠萝_Ho 阅读(278) 评论(0) 推荐(1)
类<四>:static类成员
摘要:一,static类成员的优点(区别于全局对象)①static在类的作用域中,可避免同名全局对象冲突.②可实施封装,不容易被外部简单更改其值.③通过引用方式(区域符::)可清晰表明是与特定类关联的.二,定义static成员①每个类对象都没有与static数据成员相对应,这个static成员是由整个类类型的全体对象共享, 同一个类的所有对象共用同一个static成员.②遵循正常的公有/私有访问规则.static 类型 name;static 类型 name();三,使用类的static成员①通过 Classobj.member 使用(类对象.成员)②通过 Classp->menber 使用( 阅读全文
posted @ 2012-07-17 21:10 菠萝_Ho 阅读(230) 评论(0) 推荐(0)
类<三>:友元
摘要:友元机制允许一个类将对其非公有成员的访问权授予给指定的函数或类.关键字friend①使用例子:class A {成员.....};classB{public: friend class A;private: int a; double b;};此时A的成员可以直接引用B中的私有成员.②使其他类的成员函数成为友元 并没有把整个A类设为友元,B就可以指定只允许A的某个成员访问: class B{ friend A& A::relocate(A::index,A::index,Screen&); }; 此处将成员函数声明为友元时,函数必须用该函数所属的类名字加以限定(A::)③友元声 阅读全文
posted @ 2012-07-16 17:23 菠萝_Ho 阅读(156) 评论(0) 推荐(0)
C++类<二>:构造函数
摘要:上篇随笔中提到构造函数的介绍,这篇来深究一下.构造函数名与类名一致.构造函数的工作室保证每个对象的数据成员具有合适的初始值.例书店书籍构造体class Sales_item{ public: bool same_isbn(const Sales_item &rhs) const //判断两书的isbn是否相同.{ return isbn == rhs.isbn; } explicit Sales_item(const std::string &book): isbn(book), units_sold(0), revenue(0.0){} explicit Sales_item 阅读全文
posted @ 2012-07-16 17:04 菠萝_Ho 阅读(293) 评论(0) 推荐(0)
C++类<一>:类的定义和声明&类的作用域
摘要:一,类的定义和声明."最简单地说来,类就是定义了一个新的类型和一个新的作用域"①定义class 类名{public:private:}; //分号不能省,因为在分号与右括号之间可以定义多个类对象.②构造函数创建类类型对象时,编译器会自动使用一个构造体函数来初始化该对象.构造函数是一个与类同名的成员函数,用于给每个数据成员设置初始值.类名(): data_member1(初始值), data_member2(初始值) {}③成员函数 成员函数在类内部定义默认为inline,在外部定义的函数必须标明在类的作用域中. 类型 类名::成员函数(参) {}定义重载成员函数 同名成员函 阅读全文
posted @ 2012-07-15 18:14 菠萝_Ho 阅读(1356) 评论(0) 推荐(0)
C++关于数组与指针一些值得注意的笔记
摘要:数组①显式初始化的数组不需要制定数组的维数值; intarr[] = {0,1,2}; //[]中维数值可以省略②vector使用vector::size_type作为下标的类型,数组下标类型是size_t;int main(){ const size_t array_size = 7; int ia1[] = {0,1,2,3,4,5,6}; int ia2[array_size]; //使用size_t类型数值来定义数组大小 for (size_t ix = 0; ix != array_size; ++ix) //从ia1复制数据到 ia2 ia2[ix] = ia1[ix]; ret. 阅读全文
posted @ 2012-07-14 21:41 菠萝_Ho 阅读(279) 评论(0) 推荐(0)
C++标准库bitset类型(简单使用方法)
摘要:#include<bister>using std::bitset;一句话定义:可自定义位数,用作记录二进制的数据类型.一,定义和初始化bitset<n> b; //b有n位,每位都为0;bitset<n> b(u); //b是unsigned long型u的副本bitset<n> b(s);//b是string对象s中含有n位字符串的副本bitset<n> b(s, pos, n); //b是s中从pos位置开始的n个位置的副本bitset<n> b(s,pos);//b从s的pos位置开始取值到s末尾(注取的值从b的右 阅读全文
posted @ 2012-07-12 18:44 菠萝_Ho 阅读(3673) 评论(0) 推荐(1)
C++标准库vector类(简单用法记录)
摘要:#include<vector>using std::vector;一句话定义:vector相当一个储存多个相同类型变量的集合.一,定义和初始化vector<T> v1; //T为类型名vector<T> v2(v1); //v1赋值给v2vector<T> v3(n,i); //v3中含n个值为i的元素vector<T> v4(n); //v4中含n个初始化元素二,操作v.empty(); //判断v是否为空v.size(); //返回v长度v.begin(); //返回指向v第一个元素的值v.end(); //返回指向v最后一个元 阅读全文
posted @ 2012-07-11 22:34 菠萝_Ho 阅读(3112) 评论(0) 推荐(0)
C++ String对象中字符的处理
摘要:对string对象中的单个字符进行处理、判断.以下列出各种字符操作函数,适用于string对象的字符(或其他任何char值)这些函数都在 cctype头文件 中定义:isalnum(c) 如果c是字母或数字,则为trueisalpha(c) 如果c是字母,则为trueiscntrl(c) 如果c是控制字符,则为trueisdigit(c) 如果c是数字,则为trueisgraph(c) 如果c不是空格,但可打印,则为trueislower(c)如果c是小写字母,则为trueisprint(c)如果c是可打印的字符,则为trueispunct(c) 如果c是标点符号,则为trueisspace( 阅读全文
posted @ 2012-07-11 16:33 菠萝_Ho 阅读(291) 评论(0) 推荐(0)
C++编写自己的头文件
摘要:写一个自己的头文件包括了以下几步:一、#include 源文件需要用到的标准库;(#include +<文件名>/"文件名" <>为标准系统头文件,""为非系统头文件,查找源于源文件所在路径)二、编写头文件的内容:因为头文件将会包含在多个源文件中,所以不应该含有变量和函数的定义,但有三个定义是例外的; ①类的定义;②const对象(常量);③inline函数; 需注意的是const对象在其他包含该头文件的源文件中是不可用的,但可以通过在头文件中const定义前添加extern使其被多个文件共享; 但必须遵循的是"一次定义 阅读全文
posted @ 2012-07-10 23:06 菠萝_Ho 阅读(6795) 评论(0) 推荐(1)