摘要: 1、运算符重载可以改进可读性,但不是非有不可。2、重载方法:friend 类型 operator 运算符(A&,A&)例如:friendAoperator+(A&,A&)3、C++规定,运算符中,参数说明都是内部类型时,不能重载!4、.、::、.*、->、?:;不能重载,也不能创造新的运算符5、赋值运算符和拷贝构造函数区别:用拷贝构造函数时还没有对象,赋值时已经有了对象6、数组名不能赋值,它的实质是一个常量指针7、语法:类型名&operator=(类型名 & 参数)8、赋值运算符重载应该声明为成员函数,二目运算符一般声明为友元 阅读全文
posted @ 2012-06-08 12:17 hlb430 阅读(191) 评论(0) 推荐(0)
摘要: 1、类的所有对象往往需要共享某个数据,所以需要静态成员,如学生类中的学生总数2、静态成员的使用:如staticinttotal;//注意不能初始化3、初始化形式:intstudent::total=0;//最好放在类的内部实现文件中,便于重用4、当使用对象来调用静态变量时,c++只关心对象的类型5、静态成员函数与类联系,不与类的对象联系,所以访问静态成员函数时,可以不需要对象。如果用对象去引用静态成员函数,只是用其类型。6、一个静态成员函数不和任何对象相联系,故不能对非静态成员进行默认访问!!!7、普通函数需要直接访问类的保护或私有数据成员的原因主要是为提高效率。8、友元的使用:friend 阅读全文
posted @ 2012-06-08 12:16 hlb430 阅读(246) 评论(0) 推荐(0)
摘要: 1.全局变量、静态变量、常量存放在全局数据区,所有类成员函数和非成员函数代码存放在代码区,为运行函数而分配的局部变量、函数参数、返回数据、返回地址等存放在栈区,余下的空间都被作为堆区。2.使用New和delete 而不使用malloc原因在于其不能在分配时调用构造函数。3.函数声明参数只需写类型,而定义时则需要写形参4.从堆上分配对象数组,只能调用默认的构造函数,不能调用其它任何构造函数,释放内存用delete[]ps(ps 为对象数组名),[]是要告诉C++该指针指向的是数组5.拷贝构造函数发生的情况:①用一个对象去构造另一个对象②对象作为参数传递时6.拷贝构造函数声明,例如:Student 阅读全文
posted @ 2012-06-08 12:15 hlb430 阅读(180) 评论(0) 推荐(0)
摘要: 1、继承的工作方式:classgraduatestudent: publicstudent2、类与类之间,以接口作为沟通,即使基类与子类也不例外。3、构造基类Graduatestudent(参数表):student(pName)//带基类的构造函数4、类以另一个类对象作数据成员,称为组合。5、若派生类重载了基类中的函数,则调用派生类函数,若无则调用基类函数。6、在运行时能依据其类型确认调用哪个函数的能力,称为多态性,或迟后联编、滞后联编。编译时就能确定哪个重载函数被调用,称为先期联编。7、若语言不支持多态,则不能称为面向对象的。8、实现多态技术,必须避免用面向过程的思维,如在类内部加一个成员来 阅读全文
posted @ 2012-06-08 12:15 hlb430 阅读(266) 评论(0) 推荐(0)