2017.3.1 学习C++第一天
申明:
1.文中内容收集整理来自《C++ Primer第五版》(轮子哥亲自开光),《C和指针》等书籍,以及网上各种C++学习视频资源。
2.本文仅作学习交流使用,欢迎大家阅读,并指出我的错误。
今天了解了类,对象,成员,多态的一些基本概念
类是一类事物的总称,比如人类也是一个类,足球运动员也是一个类。其中类包含了许多对象。假设我们把足球运动员定义成类的话,张三球员,李四球员等等都是这个类中的对象。他们都有一双手,两条腿,一个脑袋,一个鼻子。这一系列的数据被称为成员,他们会踢球,射门。这就是他们的功能,也叫做函数。 但是不同的球员射球可能会出现不同的结果,这就又叫做多态。
类是一个数据类型,定义一个类 是一个抽象的概念,不会给你分配内存,只有用数据类型定义变量的时候才会分配内存.
初学者可能犯的错误
#include<iostream>
using namespace std;
class circle {
public:
double r;
double pi = 3.1415926;
double area = pi*r*r;
};
int main(void)
{
circle c1;
std::cout << "please enter a number:" << endl;
std:: cin >>c1.r;
cout << c1.area << endl; //乱码 因为这个area 在初始化的时候就已经有值了,现在操作只是从里面拿值,
//并没有执行该语句,只是从他的内存空间中取值
//double = 10;
cout << c1.area << endl;
return 0;
}
C++的加强与命名空间:
#include<iostream>
using namespace std;
namespace A {
int age = 20;
}
namespace namespaceB {
int age = 30;
namespace namespaceC
{
struct Teacher{
char teacher[32];
int age;
};
}
}
int main01(void)
{
using namespace A; //使用空间A
using namespace namespaceB; //使用namespaceB空间
//cout << age << endl; //会报错 因为变量不明确
cout << A::age << endl; //这样使用命名空间
cout << namespaceB::age << endl;
namespaceB::namespaceC::Teacher t1; //把路径写全、
using namespaceB::namespaceC::Teacher;
Teacher t2;
t2.age = 66;
t1.age = 55;
return 0;
}
C++中的BOOL类型
int main(void)
{
bool b1 = true;
cout << sizeof(bool) << endl; //bool类型所占用内存空间
b1 = 10;
cout << "b1:" << b1 << endl; //bool变量类型的值,不是0就是1
b1 = 0;
cout << "b1:" << b1 << endl;
return 0;
}
namespace 是个命名空间。可以是符号常量,变量,结构体等。std 是标准命名空间。
不同空间的变量是不同的,防止变量冲突,因为在他们在不同的作用域里面
命名空间可以嵌套定义
namespace namespace B
{
namespace namespace C
{
struct teacher
{
char name[20];
int age=20;
}
};
}
c++中在结构体中也可以加public
struct Teacher
{
public:
char name[20];
}
今天的学习内容就到这里了。以后会尽量每天更新我的编程日记
希望大家关注我的网易云账号:爱因斯坦的手套
2017.3.04