随笔分类 -  C++

序列点
摘要:C 语言中,术语副作用(side effect)是指对数据对象或者文件的修改。例如,以下语句 var = 99;的副作用是把 var 的值修改成 99。对表达式求值也可能产生副作用,例如: se = 100对这个表达式求值所产生的副作用就是 se 的值被修改成 100。 序列点(sequence point)是指程序运行中的一个特殊的时间点,在该点之前的所有副作用已经结束,并且后续的副作用还没发生。 C 语句结束标志——分号(;)是序列点。也就是说,C 语句中由赋值、自增或者自减等引起的副作用在分号之前必须结束。我们以后会说到一些包含序列点的运算符。任何完整表达式(full expressio 阅读全文

posted @ 2012-12-04 22:36 烟雨蒙蒙 阅读(137) 评论(0) 推荐(0)

默认构造函数
摘要:1.合成的默认构造函数,一个类哪怕只定义了一个构造函数,编译器也不会再生成默认构造函数。只用当一个类没有定义构造函数时,编译器才会自动生成一个默认构造函数。2.通常应该为一个类定义一个默认构造函数构造函数。3.为形参提供默认实参的构造函数,亦可以看做是默认构造函数。4.当对象定义在局部作用域中时内置或复合类型的成员不进行初始化。 阅读全文

posted @ 2012-11-25 10:52 烟雨蒙蒙 阅读(128) 评论(0) 推荐(0)

cannot convert 'this' pointer from 'const class Rational' to 'class Rational &' 是什么意思
摘要:#include<iostream>using namespace std;class Item_base{public:Item_base( const string &book=" ni",double sales_price=0.0):isbn(book),price(sales_price){cout<<"构造函数执行"<<endl;}string book() const//必须加const或者会出现错误'book' : cannot convert 'this' po 阅读全文

posted @ 2012-05-24 22:27 烟雨蒙蒙 阅读(714) 评论(0) 推荐(0)

C++标准转换运算符const_cast
摘要:C++标准转换运算符const_cast前面讲了C++继承并扩展C语言的传统类型转换方式,最后留下了一些关于指针和引用上的转换问题,没有做详细地讲述。C++相比于C是一门面向对象的语言,面向对象最大的特点之一就是具有“多态性(Polymorphism)”。要想很好的使用多态性,就免不了要使用指针和引... 阅读全文

posted @ 2012-04-26 22:11 烟雨蒙蒙 阅读(120) 评论(0) 推荐(0)

导航