class A{public:int a,b;void print(){cout << a << ' ' << b << '\n';return ;}};
A t;t.a = 10;t.b = 5;t.print();
这个和struct很像吧?但是现在我们如果去掉定义中的"public:",在运行一下程序,会怎么样呢?编译器报错了!为什么呢?其实,这是因为在C++的类中,如果没有显式地把变量或函数定义为public的话,则会以private权限进行处理,不会作为公有的成员,不能被外部的任何代码读取.输出:10 5
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类的对象将能够访问基类stu中的成员,并且加入成员score.class score:public stu{protected:int score;};
上面这个类在定义时如果没有给对象传入参数则令num为0,name与birthday为空.传递参数的方法是在对象后面加一个括号传入参数.比如: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(){}};
联系客服