C++常函数】的更多相关文章

代码中碰到一个奇怪的现象,在同样的函数中调用this指针,结果却有一个无法通过编译 // 读取连接信息 void ThirdWizardPage::ReadConnection() { QFile file("oracle.passwd"); if(!file.open(QIODevice::ReadOnly)) { QMessageBox::information(this, tr("打开文件失败"), tr("错误原因:%1").arg(fi…
常函数即在类的成员函数参数列表后放置const的函数,常函数的作用是限制函数体对成员变量的修改,此外,常函数也不能调用非 常函数. #include <iostream> using namespace std; class Test { private: int x, y; public: Test() { x = ; y = ;} void changeValue() const { x = ; y = ; print(); } void print() { cout << x…
十四 构造函数和初始化表 ... 初始化表 )语法形式 class 类名{ 类名(形参表):成员变量1(初值),...{} }; )必须要使用初始化表的场景 -->如果有类 类型的成员变量,而该类又没有无参构造函数,则必须通过初始化表来初始化该成员变量. -->类中包含"const"和“引用”成员变量,必须在初始化表中显式的初始化. 注:成员变量的初始化顺序由声明顺序决定,而与初始化表的顺序无关. 练习:使用初始化表为电子时钟类增加计时器功能. 如果使用日历时间初始化时钟对…
this指针引入 类中对象的成员变量和成员函数是分开存储的,sizeof(空class) = 1,另外示例中涉及到字节对齐的问题,double本身的字节为8,int为4,由于字节对齐,int也为8,所以最终字节数为16 class Person{ int m; //非静态成员变量,属于对象 sizeof(Person) = 4 static int n; //静态成员变量,不属于对象 sizeof(Person) = 4 static void func(); //静态成员函数,不属于对象 si…
1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵.文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见­. 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答. 企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10分中的2分. 读者可从本文看到strcpy函数从2分到10分解答的例子,看看自己属于什…
常对象 常对象必须在定义对象时就指定对象为常对象. 常对象中的数据成员为常变量且必须要有初始值,如 Time const t1(12,34,36); //定义t1为常对象 这样的话,在所有的场合中,对象t1中的所有数据成员的值都不能被修改.凡希望保证数据成员不被改变的对象,可以声明为常对象. 定义常对象的一般形式为 类名    const    对象名(实参列表); 也可以把const写在最左面 const    类名    对象名(实参列表); 二者等价 如果一个对象被声明为常对象,则不能调用…
1.同类对象间的数据共享——静态成员 静态数据成员声明静态数据成员要采用关键字static:类静态数据成员的定义和初始化定义:static 数据类型 成员名:初始化:数据类型 类名::静态数据成员名=初始值:注意静态数据成员必须在文件作用域的某个地方用类名限定符对静态数据成员定义并初始化.class Student{ private: int num; char name[]; public: static int count;//用于计数的静态变量(这里就是用来计数学生的个数的) Studen…
http://blog.csdn.net/gmstart/article/details/7046140 在C++的类定义里面,可以看到类似下面的定义: 01 class List { 02 private: 03      Node * p_head; 04      int length; 05      …… 06 Public: 07      int GetLength () const; 08      bool GetNodeInfo(const int index,Node &…
参考:http://blog.csdn.net/shihui512/article/details/9092439 1.new.delete.malloc.free之间的关系 malloc和free都是C/C++语言的标准库函数,new/delete是C++的运算符. new调用构造函数,delete会调用对象的析构函数,而free只会释放内存. 它们都可用于申请动态内存和释放内存.但对于非内部数据类型的对象而言,光用malloc/free无法满足动态对象的要求.对象在创建的同时要自动执行构造函…
摘自:http://blog.csdn.net/zhoudengqing 3.内功题 试题1:分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var) 解答: BOOL型变量:if(!var) int型变量:   if(var==0) float型变量: const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x <= EPSINON) 指针变量: if(var==NULL) 剖析…