C++类特点:
c++ 中类与JAVA中的类有些不同,c++中静态static变量只能在类内定义,并在类外初始化,静态变量只有一个副本,也是就是说所有的实例对象访问到的都是类内同一个静态变量
c++ 中 ::
为解析符号,可以用它访问类内的函数和变量,:
一般在一个类继承另一个类使用
例子:
#include <stdio.h>
class A{
private:
static int temp; // 静态成员要在类外面初始化、可用类直接调用、所有类共享一个值
public:
int omg = 115200; // 非静态得用具体对象才能调用
static A* a[3]; // A类型指针
void print(){
printf("temp的值为:%d\n", temp);
}
void myprintf(){
printf("myprintf\n");
}
void setvalue(int value){
temp = value;
}
A(); // 构造函数
};
int A :: temp = 12; // 初始化temp
A* A :: a[3] = {NULL, NULL, NULL}; // 空指针
A :: A(){ // 初始化构造函数
setvalue(1);
printf("构造函数成功运行\n");
}
int main(){
A :: a[0]->print();
new A();
A :: a[1]->print();
}
int A :: temp = 12; // 初始化temp
A :: temp 就是解析出A内的temp变量最左边的int是指明了这个变量的类型
A* A :: a[3] = {NULL, NULL, NULL}; // 空指针
A :: a[3]是解析出来A内的a[3]变量最左边的A*指的是a[3]为A类型指针,NULL指的是将其设置为空指针
A :: a[0]->print();
new A();
A :: a[1]->print();
A :: a[3]是解析出来A内的a[3]变量最左边的A*指的是a[3]为A类型指针,NULL指的是将其设置为空指针,空指针能访问内部函数和静态成员变量new A()
的目的主要是调用构造函数,初始化静态成员的值,静态变量的值只有唯一副本所有对象调用的结果都是一致
继承:
#include <stdio.h>
class A{
private:
static int temp; // 静态成员要在类外面初始化、可用类直接调用、所有类共享一个值
public:
int omg = 115200; // 非静态得用具体对象才能调用
static A* a[3]; // A类型指针
void print(){
printf("temp的值为:%d\n", temp);
}
void myprintf(){
printf("myprintf\n");
}
void setvalue(int value){
temp = value;
}
A(); // 构造函数
};
int A :: temp = 12; // 初始化temp
A* A :: a[3] = {NULL, NULL, NULL}; // 空指针
A :: A(){ // 初始化构造函数
setvalue(1);
printf("构造函数成功运行\n");
}
class B : public A{
public:
int bmbr = 12;
void bprint(){
printf("这里里是b的printf\n");
}
};
int main(){
B* bb;
bb->bprint();
bb->print();
}
继承一般是公有继承,这样子类可以继承父类所有公共函数与变量,指针访问成员用->
实例对象访问成员用.
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » SX_c++中类的运用_13
发表评论 取消回复