第一个简单的helloworld
#include"iostream" //包含c++的头文件
using namespace std;//使用命名空间std标准的明明空间
void main01(){
cout<<"hello world"<<endl;
//<<左移操作符,在c++里面功能的改造, c++语言操作符重载
//endl \n
//打印到屏幕,并且回车换行
system("pause");
}
//求⚪的面积
void main02()
{
double r = 0;
double s = 0;
cout<<"请输入⚪ 的半径:";
//cin代表标准输入,即键盘
cin>>r;
cout<<"r的值是:"<<r<<endl;
s = 3.14*r*r;
cout<<"⚪的面积是:"<<s<<endl;
system("pause");
}
//用面向对象的方法来求解
struct Circle{
double m_s;//面积
double m_r;//半径
};
//在c++中定义了一个自定义数据类型
class MyCircle
{
public;
double m_s;//面积
double m_r;//半径
double area;
public:
void setR(double r){//成员函数
m_r = r;
}
double getR(){//成员函数
return m_r;
}
double getArea(){
area = 3.14 * m_r * m_r;
return area;
}
protected;
private;
};
void main03(){
MyCircle c1,c2,c3;//类的对象
double r;
cout<<"请输入c1⚪的半径:";
cin>>r;
//给⚪属性赋值
c1.setR(r);
cout<<"⚪的面积是:"<<c1.getArea()<<endl;
system("pause");
}
//思考:类的调用执行过程
//c++如何区分不同对象调用同样的方法
面向对象的分析:OOA
面向对象的设计:OOD
面向对象的编程:OOP
面向对象的测试:OOT
面向对象的软件维护:OOSM
C语言的目标是高效,最终执行效率的高效
C语言 + 面向对象方法论===》ObjectIve C/C++
C和C++并不是对立的竞争关系
C++是C的加强,以C为基础完全兼容.
C++增加了面型对象的支持,增加了类型加强,函数加强,异常处理
没有看不懂的代码,只有看不懂的业务。
namespace是标识符的可见范围,是命名空间,可以更好的控制标识符的作用域。
c语言中只有一个全局作用域,c语言中所有的全局标识符共享同一个作用域。
全局变量不能重复,不同的.dll函数里面不允许有同名的全局变量。
namespace name{...}
namespace NamespaceA{
int a =1;
}
register关键字,将局部变量放到寄存器中来提高运行速度。
c语言不可以在寄存器变量上取地址,c++可以。
变量检测增强,拒绝二义的语法。
函数类检测增强,不允许相同的成员变量出现。
struct类型加强,c++的编译器认为是一种新类型的声明。
c++中所有的变量和函数都必须有类型
c++中新增了Bool类型关键字,一般bool类型占用一个字节,告诉c++编译器分配一个字节的内存,true为1,false为0;
c语言三目运算符不能做左值;而c++可以,因为运算符返回的是变量本身