C++初识

来源:互联网 发布:于慧英语怎么样知乎 编辑:程序博客网 时间:2024/06/18 04:09
1、编程的两种思想:
(1) 面向过程的编程 -- C语言
(2) 面向对象的编程 -- C++/Java/C#


2、面向过程编程的三步:
(1) 输入数据
(2) 对数据进行计算
(3) 输出结果


int a,b;
printf("请输入两个数:\n"); 
scanf("%d%d",&a,&b);      //输入数据
int sum = a + b; //计算过程
printf("sum = %d\n",sum); //输出结果


3、面向过程的编程和面向对象的编程的主要区别:
(1) 面向过程的编程是一种更直接的编程方式
(2) 面向对象的编程是一种抽象度更高的编程方式


4、面向对象的三大特性:
(1)封装 把数据(变量)和对数据(变量)操作的函数放在一个集合中
(2)继承 子类继承父类的成员,实现代码复用
(3)多态 实现接口的复用


5、类和对象的关系: 类是对象的抽象类型,而对象是类的具体实例
    如:人是张三的类型,而张三是一个具体的人   


6、C语言头文件 stdio.h -- printf / scanf
   C++使用   iostream --  cout  / cin


7、class Point  //类名首字母大写
   {


   }; //分号结束


8、结构体和类的区别: 结构体成员默认是公有public,而类的成员默认是私有private


9、类的成员变量一般是私有的,而函数一般是公有的


10、类的对象相当于数据类型的变量。  Point p; -- int a;

示例圆的类:

#include <iostream>
using namespace std;
#include<math.h>
class Circle
{
public:
    float getX();
    float getY();
    float getR();
    void setX(float a);
    void setCircle(float a,float b,float c);
    float distance(Circle c1);
    void printf();
    
private:
    float x;
    float y;
    float r;
};


void Circle::setX(float a)
{
    x = a;
}
float Circle::getX()
{
    return x;
}
void Circle::setCircle(float a, float b, float c)
{
    r = c;
    x = a;
    y = b;
}
float Circle::distance(Circle c1)
{
    return sqrt((x -c1.x)*(x -c1.x)+(y -c1.x)*(y -c1.x));
}
void Circle::printf()
{
    cout<<"r:"<<r<<",x:"<<x<<",y:"<<y<<endl;
}
int main(int argc, const char * argv[]) {
    // insert code here...
    Circle c1;
    c1.setCircle(1,2,3);
    c1.printf();
    
    Circle c2;
    c2.setCircle(3, 4,5);
    c2.printf();
  
    cout <<c1.distance(c2)<<endl;
    c1.setX(10);
    cout <<c1.getX()<<endl;
    
    return 0;
}

原创粉丝点击