- 浏览: 497526 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (339)
- C# (2)
- Java集合 (7)
- Java设计模式 (15)
- Java基础 (31)
- Java-Spring (7)
- Java-Spring AOP (9)
- Java-Spring Transaction (6)
- Java-Hibernate (13)
- Jsp (7)
- JSTL (2)
- 加密解密 (13)
- sql (3)
- 数据库技术 (7)
- JQuery (2)
- css (3)
- JavaScript (19)
- Linux (34)
- 项目管理 (5)
- Tomcat (5)
- Oracle (4)
- axis2 (5)
- Linux c/c++ (40)
- Linux 防火墙及抓包分析 (10)
- Linux 环境配置 (3)
- Linux 高级命令 (14)
- Linux Server 配置 (9)
- c++ 内存管理 (4)
- JUnit (1)
- SSL 通信 (2)
- windows 系统调试 (8)
- 字符串处理 (8)
- 排序算法 (7)
- ACE (1)
- IT技术 (1)
- 敏捷开发 (1)
- TCPIP (4)
- 汇编语言 (7)
- STL (2)
- Struts (1)
- iBatis (3)
- 音视频开发 (2)
- Java多线程 (3)
- 架构设计 (2)
- Java网络编程 (1)
- Ubantu (0)
- Eclipse (2)
最新评论
-
df270464278:
请问博主有遇到中文乱码的问题吗?就是json字符串里面包含中文 ...
cur发送json字符串, post 请求 -
ykbj117:
你们知道刘绍华么?就是北邮的一个教授,专门研究WebRTC的资 ...
WebRTC -
隐形的翅膀:
不会用powershell
去除SVN标志 -
lengbamboo:
改注册表比较危险,给个powershell的脚本:powers ...
去除SVN标志 -
hedong56:
[/b][b][i][/i][u][/u][flash=20 ...
JAVASCRIPT定义对象的四种方式
1. typedef
自定义数据类型,就是给已有数据类型起一个别名,方便自己的阅读或者其它目的
typedef double area;
typedef int nature;
用新类型定义变量
area a;
nature b;
2. 枚举数据类型
enum game_result {win,lost,tie,cancel}
3. 结构体
结构体变量生命可以在结构体类型声明之后,二者可以同时进行
占内存大小可以用sizeof运算求出 sizeof(类型名或者变量名)
结构体变量可直接设置初值
struct student
{
int age;
char name[20];
}stu={20,"mike"}
stu.age
4. 有时需要把几个不同类型的变量共同使用一组内存单元,联合体
5. 函数值传递,void Swap(int a, int b);
6. 函数引用传递 void Swap(int& a,int& b)
7. 内联函数
函数调用会降低程序的执行效率,内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用语句处,节省开销
内联函数体内不能有FOR循环和SWITCH语句
内联函数的定义必须出现在第一次被调用之前
inline double CalArea(int a);
隐式说明: 函数实现在.h中直接实现,显示说明,加inline关键字
.h
void ShowTime()
{cout << this is a test<<endl;}
8. 带默认形参值的函数
int add(int x=5,int y=6)
add(),
默认形参值必须按从右向左的顺序定义
int add(int x,int y=5,int z=6); 正确
int add(int x=1,int y=5,int z); 错误
在相同的作用域内,默认行参值的说明应保持唯一
int add(int x=1,int y=2);
void main(void)
{
int add(int x=3,int y=4);
add();
}
9. 函数重载
10, 函数模板
11. 拷贝构造函数
其作用是使用一个已经存在的对象去初始化一个新的对象
class Point
{
public:
Point(Point &p);
}
Point::Point(point &p)
{
X=p.X;
Y=P.Y;
}
13. 类中的成员函数可以带默认值
14. 类中的内联成员函数
15. 组合类成员对象的初始化,在创建对象既要对本类的基本数据进行数据化,也要对内嵌对象的基本数据成员初始化
类名::类名(形参表):内嵌对象1(形参表),内嵌对象2(形参表)
初始化顺序
1。 按声明的顺序,对内嵌对象进行初始化
2. 执行本类构造函数的函数体
Circle::Circle(float r):radius(r){}
16. c++类先声明再使用,如果两个类相互引用,就必须使用前向引用声明
class B;
class A
{ public:
void f(B b);
}
17 如果类中没有构造函数,编译时会生成默认构造函数
如果自定义构造函数有参数,则必须给出初始值
18. 类模板
19. 作用域
a. 函数原型作用域:仅在函数体内有效
b. 块作用域: 从声明处开始,到块的大括号结束为止
c. 类作用域:在类中有效
d. 文件作用域: 开始于声明点, 结束于文件末尾
inti;
void main(){...}
20. 可见性
文件作用域>类作用域>块作用域
a. 没有相互包含的作用域中,声明同名标志符互不影响
b. 具有包含关系的作用域声明同名标志符,则外层标志符在内层不可见
21 静态生存周期:对象的生存期与程序的运行周期相同
动态生存周期:动态生存周期诞生于声明点,终止于作用域结束时
22. 静态局部变量,具有全局寿命,局部可见,只在第一次进入函数时初始化
void main(void)
{
static int a;
void other(void) 声明函数原型,为调用做准备,并没有真正调用
other(); a=4;
....
other(); a=6;
}
void other(void)
{
static int a=2;
a=a+2;
}
23 类属性,静态数据成员对于任何对象实例,它的值时相同的,是对象的共同特征
访问: 类名::标识符 即使成员为私有静态成员,也可以访问
对于普通函数成员的调用,必须通过对象名
静态成员函数可以直接访问该类的静态数据和静态函数成员,而访问非静态数据成员,必须通过传递参数来访问
static void A::f(A a){cout<<a.x;}
对象名.静态成员函数 == 类名::静态成员函数
24. 友元函数可以通过对象名类访问类的私有和保护成员
class Point
{
public:
friend float fDist(Point &a,Point &b);
private:
int X,Y;
}
友元的实现在Point类外,在正常情况已经不能访问类的私有和保护成员,但声明为友元函数后可以
float Fdist(Point &p1,Point &p2)
{
cout<<p1.X;
cout<<p2,Y.
}
25. 友元类: 若A类为B类的友元类,则A类的所有成员函数都是B类的友元函数,都可以访问B类的私有和保护成员
友元关系部能传递,B 为 A 的, C为B的,但C和A之间没有关系。
友元关系式单向,A 为 B, 但B不一定为A
class B
{
friend class A;
}
26. 常引用所引用的对象不能被更新
常引用声明
const 类型说明符 & 引用名
void display(const double& r)
int main()
{
double d(9.5);
diplay(d);
return 0;
}
void display(const double& r)
{
常引用做形参,在函数中不能跟新R所引用的对象,对应的实参不会被破坏
}
27. 常对象
声明:
类名 const 对象名
常对象必须进行初始化,而且不能被更新.
常对象对象只能调用其常成员函数,而不能调用其它成员函数
A const a(3,4);
28. 常成员函数
函数声明后 加 const
类名 函数名(形参) const;
class B{ pulic: void pirnt() const;}
常成员函数不能更新对象的数据成员,也不能访问非常成员函数
29. 常数据成员
const int a;
static const int t;
任何函数都不能跟新常数据成员,只能通过初始化列表构造函数类获得初值
自定义数据类型,就是给已有数据类型起一个别名,方便自己的阅读或者其它目的
typedef double area;
typedef int nature;
用新类型定义变量
area a;
nature b;
2. 枚举数据类型
enum game_result {win,lost,tie,cancel}
3. 结构体
结构体变量生命可以在结构体类型声明之后,二者可以同时进行
占内存大小可以用sizeof运算求出 sizeof(类型名或者变量名)
结构体变量可直接设置初值
struct student
{
int age;
char name[20];
}stu={20,"mike"}
stu.age
4. 有时需要把几个不同类型的变量共同使用一组内存单元,联合体
5. 函数值传递,void Swap(int a, int b);
6. 函数引用传递 void Swap(int& a,int& b)
7. 内联函数
函数调用会降低程序的执行效率,内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用语句处,节省开销
内联函数体内不能有FOR循环和SWITCH语句
内联函数的定义必须出现在第一次被调用之前
inline double CalArea(int a);
隐式说明: 函数实现在.h中直接实现,显示说明,加inline关键字
.h
void ShowTime()
{cout << this is a test<<endl;}
8. 带默认形参值的函数
int add(int x=5,int y=6)
add(),
默认形参值必须按从右向左的顺序定义
int add(int x,int y=5,int z=6); 正确
int add(int x=1,int y=5,int z); 错误
在相同的作用域内,默认行参值的说明应保持唯一
int add(int x=1,int y=2);
void main(void)
{
int add(int x=3,int y=4);
add();
}
9. 函数重载
10, 函数模板
11. 拷贝构造函数
其作用是使用一个已经存在的对象去初始化一个新的对象
class Point
{
public:
Point(Point &p);
}
Point::Point(point &p)
{
X=p.X;
Y=P.Y;
}
13. 类中的成员函数可以带默认值
14. 类中的内联成员函数
15. 组合类成员对象的初始化,在创建对象既要对本类的基本数据进行数据化,也要对内嵌对象的基本数据成员初始化
类名::类名(形参表):内嵌对象1(形参表),内嵌对象2(形参表)
初始化顺序
1。 按声明的顺序,对内嵌对象进行初始化
2. 执行本类构造函数的函数体
Circle::Circle(float r):radius(r){}
16. c++类先声明再使用,如果两个类相互引用,就必须使用前向引用声明
class B;
class A
{ public:
void f(B b);
}
17 如果类中没有构造函数,编译时会生成默认构造函数
如果自定义构造函数有参数,则必须给出初始值
18. 类模板
19. 作用域
a. 函数原型作用域:仅在函数体内有效
b. 块作用域: 从声明处开始,到块的大括号结束为止
c. 类作用域:在类中有效
d. 文件作用域: 开始于声明点, 结束于文件末尾
inti;
void main(){...}
20. 可见性
文件作用域>类作用域>块作用域
a. 没有相互包含的作用域中,声明同名标志符互不影响
b. 具有包含关系的作用域声明同名标志符,则外层标志符在内层不可见
21 静态生存周期:对象的生存期与程序的运行周期相同
动态生存周期:动态生存周期诞生于声明点,终止于作用域结束时
22. 静态局部变量,具有全局寿命,局部可见,只在第一次进入函数时初始化
void main(void)
{
static int a;
void other(void) 声明函数原型,为调用做准备,并没有真正调用
other(); a=4;
....
other(); a=6;
}
void other(void)
{
static int a=2;
a=a+2;
}
23 类属性,静态数据成员对于任何对象实例,它的值时相同的,是对象的共同特征
访问: 类名::标识符 即使成员为私有静态成员,也可以访问
对于普通函数成员的调用,必须通过对象名
静态成员函数可以直接访问该类的静态数据和静态函数成员,而访问非静态数据成员,必须通过传递参数来访问
static void A::f(A a){cout<<a.x;}
对象名.静态成员函数 == 类名::静态成员函数
24. 友元函数可以通过对象名类访问类的私有和保护成员
class Point
{
public:
friend float fDist(Point &a,Point &b);
private:
int X,Y;
}
友元的实现在Point类外,在正常情况已经不能访问类的私有和保护成员,但声明为友元函数后可以
float Fdist(Point &p1,Point &p2)
{
cout<<p1.X;
cout<<p2,Y.
}
25. 友元类: 若A类为B类的友元类,则A类的所有成员函数都是B类的友元函数,都可以访问B类的私有和保护成员
友元关系部能传递,B 为 A 的, C为B的,但C和A之间没有关系。
友元关系式单向,A 为 B, 但B不一定为A
class B
{
friend class A;
}
26. 常引用所引用的对象不能被更新
常引用声明
const 类型说明符 & 引用名
void display(const double& r)
int main()
{
double d(9.5);
diplay(d);
return 0;
}
void display(const double& r)
{
常引用做形参,在函数中不能跟新R所引用的对象,对应的实参不会被破坏
}
27. 常对象
声明:
类名 const 对象名
常对象必须进行初始化,而且不能被更新.
常对象对象只能调用其常成员函数,而不能调用其它成员函数
A const a(3,4);
28. 常成员函数
函数声明后 加 const
类名 函数名(形参) const;
class B{ pulic: void pirnt() const;}
常成员函数不能更新对象的数据成员,也不能访问非常成员函数
29. 常数据成员
const int a;
static const int t;
任何函数都不能跟新常数据成员,只能通过初始化列表构造函数类获得初值
发表评论
-
C++析构函数为什么要为虚函数
2015-10-28 16:57 7991.为什么基类的析构函数是虚函数? 在实现多态时,当用基 ... -
#pragma 用法
2014-09-01 13:20 8761. #pragma comment(lib,&quo ... -
Linux 使用共享内存
2014-07-28 17:02 6611. 共享内存与消息队列的区别 消息队列在实现消息的收发时, ... -
Select Poll and EPoll
2014-07-28 14:46 320... -
GDB 调试
2014-06-13 09:56 913http://wiki.ubuntu.org.cn/%E7%9 ... -
采用Makefile编译C++ 多个文件
2014-06-12 14:00 130101. 假设我们下面几个c++文件 wherewhen.h ... -
Linux gcc 编译生成动态和静态库
2014-04-28 14:26 629一、基本概念 1.1什么是库 在windows平台和lin ... -
Std::Map
2014-04-08 15:23 9011. map中的元素其实就是 ... -
Linux epoll
2014-03-13 14:34 603int edfd = epoll_create(int siz ... -
套接字基础
2014-03-13 10:42 6991. int socket(int domain,int t ... -
常用的头文件
2014-02-25 10:29 7571. printf,snprintf need #inclu ... -
虚函数的几个误区
2013-12-16 17:54 749纯虚函数 1. C++ 子类没有实现父类的纯虚函数,则子类也 ... -
虚函数,纯虚函数,抽象类
2013-09-22 10:01 1105定义一个函数为虚函数,不代表函数为不被实现的函数。 定义他为虚 ... -
虚基类,虚函数,虚析构函数
2013-09-22 09:36 924继承的类的前面加上virt ... -
C++基础知识 -数组,指针与字符串
2013-09-10 20:00 11741. 数组 声明: int A[10],B[10] ... -
记录日志
2013-09-03 05:25 863openlog syslog closelog exampl ... -
Linux C 常用函数
2013-09-03 05:17 7961. Linux 常用C函数 http://man.chin ... -
Linux 内存检查
2013-08-27 09:56 846在Linux下些C语言程序,最大的问题就是没有一个好的编程ID ... -
RTP网络视频传输
2013-08-17 07:02 1097http://javahigh1.iteye.com/blog ... -
ldconfig
2013-08-15 15:45 0如何设置自己的共享库目录?/etc/ld.so.conf下增加 ...
相关推荐
### C++基础知识总结 #### 一、C++数据和变量的类型及变量作用域 **1. 基本的内置类型** C++提供了一系列基本的内置数据类型,用于存储不同种类的数据。以下是一些常见的类型及其特点: - **布尔型 (`bool`)**:...
以下是一些C++基础知识的详细介绍: 1. **变量与数据类型**:在C++中,变量是存储数据的容器。每种变量都有特定的数据类型,如整型(int)、浮点型(float或double)、字符型(char)和布尔型(bool)。声明变量时需指定其...
C\c++基础知识,面试常见问题 C\c++基础知识,面试常见问题
C++基础知识介绍,清楚简单明了,很容易进行记忆与学习
在学习C++基础知识时,你需要掌握以下几个关键点: 1. **基础语法**:C++的基础语法与C语言相似,包括变量声明、数据类型(如int、char、float等)、运算符(如算术运算符、比较运算符、逻辑运算符等)、流程控制...
"C++基础知识总结入门级"这个主题涵盖了初学者需要掌握的关键概念,让我们一一展开讨论。 首先,C++的IO系统是程序与用户交互的基础。`C++的IO.txt`可能包含关于iostream库的内容,如cin和cout用于标准输入输出,...
C++基础知识.chm文件提供了详细的C++教程,包括各个主题的索引,对于学习者来说是非常有价值的参考资料。 理解并掌握这些C++基础知识是成为熟练C++程序员的关键步骤。通过深入学习和实践,你可以逐步掌握这个强大...
C++是一种强大的、通用的编程语言,由Bjarne Stroustrup在1979年设计并开发,...这份"编程语言C++基础知识课件"将引导你逐步掌握这个强大语言的关键概念,无论你是初学者还是有一定经验的开发者,都将从中受益匪浅。
《C++基础知识讲义v1》是一份专为初学者设计的C++教程,涵盖了C++编程语言的基础概念和重要特性。这份讲义通过一系列的PPT文件,深入浅出地讲解了C++的核心知识,旨在帮助学习者快速掌握这门强大的编程语言。 1. **...
C++是一种功能强大且灵活的编程语言,本文档旨在为读者提供一个基本的C++基础知识入门指南,包括创建项目、编写代码、运行程序、注释、变量、常量、关键字、标识符命名规则和数据类型等方面的知识点。 1. 创建项目...
这份"C++基础知识讲义v2"是一份专为初学者和初级C++讲师设计的学习资料,涵盖了C++的基础概念和关键特性。 1. **编程入门**(c++基礎知識1編程入門.pps):这部分通常会介绍C++的历史、基本语法,如变量声明、数据...
涵盖C++ Primer 5th、 effective C++ 、 STL api和demos C++ 基础知识与理论、 智能指针、C++11、 Git教程 Linux命令 Unix操作系统(进程、线程、内存管理、信号)计算机网络、 数据结构(排序、查找)、数据库、、...
本压缩包文件“c++基础知识.chm”提供了一个全面的学习C++基础知识的资源,对于初学者和有经验的程序员来说都是宝贵的参考资料。 首先,C++的基础知识包括语法和概念,这是理解和编写C++程序的基础。语法方面,C++...
这个名为"C++基础知识.rar"的压缩包文件似乎是一个针对初学者的C++入门教程,旨在帮助学习者掌握C++的基础概念和编程技巧。 在C++的基础知识中,首先会介绍C++的历史和其与其他编程语言的关系,然后逐步深入到语言...
这个名为"C++基础知识测试&答案.rar"的压缩包文件包含了两份文档,分别是"C++基础知识测试答案.doc"和"C++基础知识测试.doc",它们旨在帮助学习者检验和巩固C++的基础知识。 在"C++基础知识测试.doc"中,你可能会...
C++基础知识 C++基础知识是C++入门者和面试C++工程师岗位前的必备知识点总结。它涵盖了语法语义、STL、排序算法等面试常问的知识点。 一、面向对象的程序设计思想 面向对象的程序设计思想是把数据结构和对数据...
本电子书“C++基础知识”旨在为初学者提供一个全面且实用的C++学习资源,帮助他们从零开始掌握这门语言。 C++起源于C语言,由Bjarne Stroustrup在1983年为了增加面向对象的特性而设计。它不仅继承了C语言的高效和...