类和结构体
class和struct的区别在于class默认是private的而struct默认是public的
struct 继承自另一个 struct 或 class 时,默认继承方式是 public 继承
class 继承自另一个 class 或 struct 时,默认继承方式是 private 继承
class 继承自 struct,则默认继承方式还是 public,以保持 struct 的开放性
两者的内存位置取决于其声明创建的位置,局部函数则存于栈,全局则存于全局区
构造函数和析构函数
构造函数:非成员函数,并且在创建对象时由编译器自动调用执行一次,可以重载
析构函数:在对象销毁时自动调用,回收内存空间,只有一个并且无参
构造函数可以在创建对象时使用小括号把构造参数传进去,以下是构造函数中无参、有参、拷贝的示例:
class Person{
public:
int age;
Person(){
cout<<"non-parameter constructor "<<endl;
}
Person(int a){
age = a;
cout<<"Parameterized constructor"<<endl;
}
Person(const Person &p){
age = p.age;
cout<<"copy constructor "<<endl;
}
~Person(){
cout<<"Destructor function call "<<endl;
}
};
void test(){
Person p1;
Person p2(10);
Person p3(p2);
}
int main(){
test();
system("pause");
return 0;
}
标签:struct,继承,C++,public,-----,默认,class,构造函数
From: https://www.cnblogs.com/wansuns/p/18246953