我是靠谱客的博主 沉静凉面,最近开发中收集的这篇文章主要介绍C++基础,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

    • 1、简单的C++程序
    • 2、C++对C的扩展
      • 2.1、面向对象概念
        • 需求:求圆的周长和面积
      • 2.2、类中不写成员函数易犯错场景

1、简单的C++程序

//
//  main.cpp
//  MyFirstC
//
//  Created by xiaofeifei on 2019/1/27.
//  Copyright © 2019 xiaofeifei. All rights reserved.
//
#include <iostream>
using  namespace std;  //use standard name space
int main(int argc, const char * argv[]) {
    // insert code here...
    //cout is standard out
    //<< 左移操作符在C++中进行了功能改造,语言操作符重载
    cout << "Hello, World!"<<endl;
    return 0;
}

2、C++对C的扩展

2.1、面向对象概念

需求:求圆的周长和面积

数据描述:
半径,周长和面积都用实数表示;
数据处理:
1)输入半径r;
2)计算周长=23.1415r;
3)计算面积=3.1415rr;
4)输出半径r,周长和面积;

方法1:用结构化方法(面向过程)实现

#include <iostream>
using  namespace std;  //use standard name space
//DE01-count the girth and area of circle
int main()
{
    double r, girth, area;
    const double PI = 3.1415;
    cout << "input the radius" << endl;
    cin >> r;
    girth = 2*r*PI;
    area = PI * r * r;
    cout << "radius = " << r << endl;
    cout << "girth = " << girth << endl;
    cout << "area = " << area << endl;
    return 0;
}

输出

input the radius
4
radius = 4
girth = 25.132
area = 50.264
Program ended with exit code: 0

方法2:用面向对象方法实现

#include <iostream>
using  namespace std;  //use standard name space
//DE02-count the girth and are of circle
//面向对象的实现方法
//Circle类的抽象和封装
class Circle
{
public:
    double r;
    double girth;
    double area;
public:
    void setR(double rr)
    {
        r =rr;
    }
    
    double getR()
    {
        return r;
    }
    
    double getGirth()
    {
        return 2*r*3.1415;
    }
    
    double getArea()
    {
        return 3.1415*r*r;
    }
protected:
private:
};
int main()
{
    Circle circle;
    double r;
    cout << "Please input the radius" << endl;
    cin >> r;
    circle.setR(r);
    cout << "radius = " << circle.getR() << endl;
    cout << "girth = " << circle.getGirth() << endl;
    cout << "area = " << circle.getArea() << endl;
    return 0;
}

输出

Please input the radius
5
radius = 5
girth = 31.415
area = 78.5375
Program ended with exit code: 0

思考:C++编译器是如何处理多个对象以及调用类的成员函数的?可查看链接: 编译器对类对象的处理机制

2.2、类中不写成员函数易犯错场景

参考3.1中Circle类的定义中,如果不定义成员函数,直接在成员函数中求得圆的面积并输出,我们来看一下效果怎样,代码如下:


class Circle
{
public:
        double r;
        double area = 3.1415 * r * r;
};

int main()
{
    Circle c1;
    cout << "Please input the radius of circle" << endl;
    cin >> c1.r;
    cout << "Circle area = " << c1.area << endl;
    return 0;
}

输入圆的半径是5,而得到圆的面积结果是0,这是什么原因呢?

Please input the radius of circle
5
Circle area = 0
Program ended with exit code: 0

最后

以上就是沉静凉面为你收集整理的C++基础的全部内容,希望文章能够帮你解决C++基础所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部