概述
目录
- 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++基础所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复