support bazel complie this project and format code.
This commit is contained in:
13
basic_content/c_poly/BUILD
Normal file
13
basic_content/c_poly/BUILD
Normal file
@@ -0,0 +1,13 @@
|
||||
# please run `bazel run basic_content/c_poly:c_examp`
|
||||
# please run `bazel run basic_content/c_poly:c++_examp`
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary")
|
||||
|
||||
cc_binary(
|
||||
name = "c_examp",
|
||||
srcs = ["c_examp.c"],
|
||||
)
|
||||
|
||||
cc_binary(
|
||||
name = "c++_examp",
|
||||
srcs = ["c++_examp.cpp"],
|
||||
)
|
Binary file not shown.
@@ -9,34 +9,31 @@
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
class A
|
||||
{
|
||||
public:
|
||||
virtual void f()//虚函数实现
|
||||
{
|
||||
cout << "Base A::f() " << endl;
|
||||
}
|
||||
class A {
|
||||
public:
|
||||
virtual void f() //虚函数实现
|
||||
{
|
||||
cout << "Base A::f() " << endl;
|
||||
}
|
||||
};
|
||||
|
||||
class B:public A // 必须为共有继承,否则后面调用不到,class默认为私有继承!
|
||||
class B : public A // 必须为共有继承,否则后面调用不到,class默认为私有继承!
|
||||
{
|
||||
public:
|
||||
virtual void f()//虚函数实现,子类中virtual关键字可以没有
|
||||
{
|
||||
cout << "Derived B::f() " << endl;
|
||||
}
|
||||
public:
|
||||
virtual void f() //虚函数实现,子类中virtual关键字可以没有
|
||||
{
|
||||
cout << "Derived B::f() " << endl;
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
A a; //基类对象
|
||||
B b; //派生类对象
|
||||
|
||||
int main()
|
||||
{
|
||||
A a;//基类对象
|
||||
B b;//派生类对象
|
||||
A *pa = &a; //父类指针指向父类对象
|
||||
pa->f(); //调用父类的函数
|
||||
|
||||
A* pa = &a;//父类指针指向父类对象
|
||||
pa->f();//调用父类的函数
|
||||
|
||||
pa = &b; //父类指针指向子类对象,多态实现
|
||||
pa->f();//调用派生类同名函数
|
||||
return 0;
|
||||
pa = &b; //父类指针指向子类对象,多态实现
|
||||
pa->f(); //调用派生类同名函数
|
||||
return 0;
|
||||
}
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user