Which of the following compile? (Choose all that apply)
A, D.
A and D are correct because the optional specifiers are allowed in any order.
Options B and C are incorrect because they each have two return types.
Options E and F are incorrect because the return type is before the optional specifier and access modifier, respectively.