匿名四轴c++程序学习随记

匿名四轴程序采用c和c++混合编写,结构清晰的同时给我这c++的小白带来了不少问题,时间少,没办法,不能从头系统的学习c++了,只能遇到什么问题现查现了解了。


class是一个关键字,它代表在下面{...}要声明一个类型.类在某些方面和C中的struct很相似,但也有不同,比方说类有派生类,但是没有派生结构吧.

那么class怎么用呢?
先看一个例子:
class A{
public:
int a,b;
void print()
{
cout << a << ' ' << b << '\n';
return ;
}
};
在这个例子中,我们为类A定义了两个公有变量a和b,以及一个公有函数print()用于输出a和b.调用则是:
A t;
t.a = 10;
t.b = 5;
t.print();
输出:10 5
这个和struct很像吧?但是现在我们如果去掉定义中的"public:",在运行一下程序,会怎么样呢?编译器报错了!为什么呢?其实,这是因为在C++的类中,如果没有显式地把变量或函数定义为public的话,则会以private权限进行处理,不会作为公有的成员,不能被外部的任何代码读取.如果在类里声明了成员函数,但没有给出函数的定义,那么在类外定义时就要写成void A::print(),这里printf()函数就是类A的成员函数。

类中总共有3中权限标识:public,private和protected.

public:定义的成员可以被外部访问和修改;

private:成员不能被外部读取和修改,只能在类的内部使用,在派生类中无法访问;

protected:成员也不能被外部访问与修改,只能在内部使用,但是在派生类中将作为private成员使用.所以如果在定义类时,能够访问的就用public定义,不能访问就用protected定义.

派生类:
派生类继承了基类中所有的东西,把protected在派生类里就相当于private,可以外部使用(这个不清楚,希望有大神指正).
class stu{
protected:
string name, birthday;
int num;
public:
void print_data()
{
cout << "name: " << name << '\n';
cout << "number: " << num << '\n';
cout << "birthday: " << birthday << '\n';
}
};
这个是学生信息类.那么现在可以定义一个以它为基类的派生类score:
class score:public stu{
protected:
int score;
};
这样定义之后score类的对象将能够访问基类stu中的成员,并且加入成员score.
下面剩下一个构造函数与析构函数了.很多情况下我们需要在类对象创建的时候就执行一些代码.所以就有了构造函数与析构函数.
构造函数是在类对象定义时由程序自动执行,一般用于初始化操作.析构函数是在对象被销毁时执行.析构函数一般是释放由构造函数申请的内存.构造函数名字和类名相同,不能有返回值,可以含参数,可以重载.析构函数命名则是在构造函数前加一个~.比如:
class stu{
protected:
int num;
string name, birthday;
public:
stu()
{
num = 0;
name = "";
birthday = "";
}
stu(int _num, string _name, string _bir)
{
num = _num;
name = _name;
birthday = _bir;
}
~stu(){}
};

stu s(123, "Xiaoming", "1900.1.1");
就等于给类中的构造函数传递参数,那么现在对象s中的num为123,name为"Xiaoming",birthday为"1900.1.1".

我对与类的理解大概就是这些了。。。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值