C++第一天
来源:互联网 发布:实用电子产品知乎 编辑:程序博客网 时间:2024/06/06 02:03
Q1:C语言和C++的区别是什么?
C语言所写出来的程序可以很精练,能够直接的去解决问题。
C++为了能够解决一些问题则需要绕圈,代码量较大 ,有一些并不是必须的。
C++和C语言相比,有一个绝对的优势,就是针对不同的对象去做实例化。
Q2:什么是OO思想?
概括的来说,分而治之,逐步求精。在面向对象的过程中,程序员处理问题时不再面对一个个函数和变量,而是要放眼大局,面对一个个的对象。在面向对象的思想中,任何事物都可以被看做一个对象。一个复杂的模型结构,都是由千千万万的对象组成的。每个对象抽象起来最终可以分为两个要素:属性和行为。每个对象都是一个完整独立的个体,它是由相关的属性和行为组合,与外界分离。
Q3:OO思想特点有哪些?
1、封装:意味着把对象的属性和方法结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。封装是面向对象思想描述的基础,从此程序员面对的就不再是许多复杂的函数和过程实现,而是少数具有行为能力的个体实例。
2、抽象:抽象的过程是对具体问题进行概括的过程,是对一类公共问题进行统一描述的过程。为了是某些必要的信息得以顺利的交流,设计者必须指定一个抽象,得到所有参与活动的有效个体支持的协议。
3、继承:子类对象拥有与其基类相同的全部属性和方法。
4、多态:是指在基类中定义的属性和行为被子类继承后,可以具有不同的数据类型或者表现行为等特性。
Q4:怎样用C语言对定义一个存储着n个元素的整型数组求和?
#include<stdio.h>int addArray(int array[],int n);int main(){ int data[]={0,1,2,3,4,5,6,7,8,9}; int size = sizeof(data)/sizeof(data[0]); return 0;}int addArray(int arrray[],int n){ int sum = 0; int i; for(i=0;i<n;i++) { sum += array[i]; } return sum;}
在《C专家编程》中作者用大篇幅对C的数组和指针做了对比来跟我们说数组和指针它们的关系很复杂。那么我们来探究一下在该程序中数组与指针的关系:
#include<stdio.h>int addArray(int array[],int n);int main(){ int data[]={0,1,2,3,4,5,6,7,8,9}; printf("data:%d\n",sizeof(data)); int size = sizeof(data)/sizeof(data[0]); return 0;}int addArray(int array[],int n){ int sum = 0; int i; printf("array:%d\n",sizeof(array)); for(i=0;i<n;i++) { sum += array[i]; } return sum;}
输出:data:40
array:4
45
数组名是数组首地址,数组与指针具有相关性,不完全等同。数组在实参传递过程中,地址被当成指针传递过来。此时,将函数的参数声明为数组和声明为指针是一样的。
如何用C++解决上述整型数组求和的问题?
#include<iostream>using namespace std;int addArray(int *array,int n);int main(){ int data[]={0,1,2,3,4,5,6,7,8,9}; int size = sizeof(data)/sizeof(data[0]); cout<<"结果是"<<addArray(data,size)<<endl; return 0;}int addArray(int *arrray,int n){ int sum = 0; int i; for(i=0;i<n;i++) { sum += *array++; } return sum;}
“<<”是C语言里面的位运算的左移操作符,难道在C++里面修改了规则?事实上并非如此,它只不过体现了C++的一个特点:支持重载。重载事实上就是允许我们按照不同的方式使用同一个操作符。
Q5:针对头文件,C++中的C92标准与C99标准有什么不同?
C92标准:#include<iostream.h>
C99标准:#include<iostream>
using namespace std;
using namespace std;是C++标准库所使用的所有标识符(即类、函数、对象等的名称)都是在同一个特殊的名字空间(std)中来定义的。如果没有使用这条指令,我们将使用std::cout和std::endl这样的语法来调用输出流对象。那么,什么是输出流?其实就是C++中的一个概念。例如:数据可以从键盘流向程序,又可以从程序流向屏幕,打印机等等。
- C#学习第一天
- C第一天
- c学习第一天
- 学习c第一天
- Objective-C 第一天
- Objective-C 第一天
- c语言第一天
- C语言第一天
- c第一天
- C站第一天
- C语言第一天
- C语言第一天
- 第一天(c基础)
- c/c++第一天
- c学习第一天--常量
- 第一天 C语言初步
- 08_03_core c 第一天
- 读《C++Primer》 第一天
- jQuery插件
- HDU2054(水题---这题有毒=_=)
- Linux 驱动开发之内核模块开发 (二)—— 内核模块编译 Makefile 入门
- hdu1203 01背包问题
- gcd
- C++第一天
- 第四届蓝桥杯 软件类省赛真题 第二题:组素数
- Theron库中的actor
- 动态旋转图片(Bitmap与Matrix 旋转ImageView)
- 统计整个工程代码行数
- ECMAScript5之Array 企
- Unity + SourceTree
- 重新打开窗口
- python 正则表达式