c++
文章平均质量分 73
bluemaths
积累、专注 ---- Linux后端技术
展开
-
c++默认赋值操作符
包含内置类型的类的默认赋值操作符,会对每一个成员逐一赋值。如下。 #include #include #include struct UNIT { int total; int used; char name[10]; }; int main() { UNIT test, asign; test.total = 100; test.used = 40; strcpy原创 2013-01-08 14:17:01 · 1602 阅读 · 0 评论 -
未定义的宏的值是多少?
经常在定义头文件时, 加一个如下所示的宏定义,避免重复包含。 查看网络上的一些博客,说此处未定义的宏_TEST_H_的值是1,此文将探究一下此值到底是不是1。 #ifndef _TEST_H_ #define _TEST_H_ class test { ... }; #endif (1)定义其值为1,进行赋值等。 #include #include using namesp原创 2013-03-19 17:03:39 · 2492 阅读 · 1 评论 -
宏定义中的可变参数
待续。原创 2013-03-14 14:58:27 · 668 阅读 · 0 评论 -
pragma once
#pragma once 功能类似于 c/c++ 的预编译头, #ifndef...#define...#endif,用于避免重复定义和编译。 若在文件的开头部分声明 #pragma once,则 (1)编译时,此文件仅被编译一次 (1)若此文件被多个文件包含,最终编译前,则保证仅被包含一次 (3)若有多个此文件的副本,则不能保证仅被编译一次或包含一次 (4)非 c/原创 2013-03-01 12:11:45 · 314 阅读 · 0 评论 -
c++ 类成员可以是引用吗?
引用,即别名。定义引用对象时,并没有对其分配内存,它与原对象对应的是同一个内存地址的对象。 c++ 类成员,可以是引用。 1. 普通引用和类成员的引用 #include #include using namespace std; class fruit { public: fruit(int &id):m_id(id) { cout << "&id:原创 2013-03-08 18:40:07 · 2386 阅读 · 0 评论 -
c++ 虚析构函数
析构函数,在不需要类对象时,用于释放申请的资源,进行清理等。 1. 虚构函数在什么时候调用 在类对象的内存结构被清理时,会自动调用析构函数。所以要知道何时析构函数被调用,只需要知道类对象内存何时被清理。 (1) 临时对象,在类对象作用域外,系统会自动清理对象内存,析构函数也会自动被调用。 #include #include using namespace std; cla原创 2013-03-08 18:38:05 · 648 阅读 · 0 评论 -
c++ 中的静态成员变量
c++ 类中,用static 修饰的成员称为静态成员。是一个在类域中的全局变量。 1. 静态成员的特点 (1) 仅在类域中可见,在类域外不可见。 (2) 独立于类对象存在,不出现在类对象的内存结构中。在创建任何类对象前,就已经存在。 无论创建多少个类对象,类中都仅有一个静态变量的对象,存储于全局变量区中。 (3) 类的所有对象,包原创 2013-03-08 18:39:10 · 868 阅读 · 0 评论 -
c++ 类的多态
1. 何为多态 多态(polymorphisn),即多种不同的形态。在c++中,指一般的函数或类的接口,在运行时,因为外部的因素变化,执行不同的过程,产生不同的结果。 (1) 编译时绑定。 这是函数重载实现多态的情况。多个函数有相同的名字,不过参数和返回值不同,在编译时函数名称和调用地址就已经确定。运行时,依据函数名和参数确定调用哪个接口。 (2) 运原创 2013-03-08 18:44:39 · 729 阅读 · 0 评论 -
c++ 类中public、private、protected 相关的混淆点记录
1. 访问限制 (1) public 可访问类型:1.该类的函数 2.该类的子类的函数 3.该类的友元函数 4.该类的对象 (2) protected 可访问类型:1.该类的函数 2.该类的子类的函数 3.该类的友元函数 不可访问类型:1.该类的对象 (3) private 可访问类型:1.该类的函数 2.该类的友元函数原创 2013-03-08 18:32:23 · 728 阅读 · 0 评论 -
c++ 类的访问权限探讨
1. 在类域外部(非类域中),类对象访问自身接口和成员的限制,示例如下。 #include #include using namespace std; class fruit { public: fruit(int id, int count, int price) :m_count(count), m_price(price), m_id(id) { } int co原创 2013-03-19 16:04:04 · 901 阅读 · 0 评论