很基础的知识:利用c++语言写的源文件名的后缀是用cpp结尾的。然后在Linux下编译的时候是用g++编译的
如果类里面的属性或者函数没有显式声明为public或者private,那么类中的变量和函数的权限默认为private。就表明这个类中的这些函数和变量只能在类内部中使用。想让类外部的代码访问类内部的数据成员或函数方法的话要声明为public。
要想访问类中private的变量必须在类内部写一个函数来完成,然后这个函数声明为public,再从外部调用这个函数。
为什么要将类中的数据成员设置成private?
防止用户初始化出错的值,正确做法是将类中的数据成员设置成private,然后再写一些public的函数来设置这些数据成员的值,在这些函数中对传进来的参数做一些条件判断,这就避免了用户对数据成员设置成一些错误的值。
#include <stdio.h>
class Person
{
private:
char *name;
int age;
char *work;
public:
void setName(char *name)
{
this->name = name;
}
int setAge(int age)
{
if(age<0 || age>150)
{
this->age = 0;
return -1;
}
this->age = age;
return 0;
}
void setWork(char *work)
{
this->work = work;
}
void printInfo(void)
{
printf("name = %s age = %d work = %s\n", name, age, work);
}
};
int main(void)
{
Person per;
per.setName("zhangsan");
per.setAge(10);
per.setWork("student");
per.prinInfo();
return 0;
}
在C++的规范中类的名字首字母应该大写。
int a;(int是一个类型,a是一个变量)
Person per;(Person是一个类,也就是一个数据类型,per称为这个Person类的对象)
一个对象中含有这个类的数据成员和函数方法。
this指针:指向当前对象,引用当前对象的属性或者数据成员要用->
C语言中和c++中同名的变量有个就近原则,相同名字的局部变量会掩盖全局变量。